O IQKeyboardManager faz isso para você sem NO LINE OF CODE , apenas é necessário arrastar e soltar o arquivo de origem relacionado ao projeto. O IQKeyboardManager também suporta Orientação a dispositivos , Gerenciamento automático da barra de ferramentas do UIT , keyboardDistanceFromTextField e muito mais do que você pensa.
Aqui está o fluxograma de controle:
Passo 1: - Adicionado notificações globais de UITextField
, UITextView
e UIKeyboard
em uma única classe. Eu chamei de IQKeyboardManager .
Etapa 2: - Se encontrado UIKeyboardWillShowNotification
, UITextFieldTextDidBeginEditingNotification
ou UITextViewTextDidBeginEditingNotification
notificações, tente obter a topMostViewController
instância da UIWindow.rootViewController
hierarquia. A fim de adequadamente uncover UITextField
/ UITextView
sobre ele, topMostViewController.view
's quadro precisa ser ajustado.
Etapa 3: - Distância calculada de movimento esperada topMostViewController.view
em relação à primeira resposta UITextField
/ UITextView
.
Passo 4: - Movido para topMostViewController.view.frame
cima / baixo de acordo com a distância de movimento esperada.
Etapa 5: - Se encontrado UIKeyboardWillHideNotification
, UITextFieldTextDidEndEditingNotification
ou UITextViewTextDidEndEditingNotification
notificação, tente novamente obter topMostViewController
instância da UIWindow.rootViewController
hierarquia.
Etapa 6: - Distância perturbada calculada da topMostViewController.view
qual precisa ser restaurada para sua posição original.
Passo 7: - Restaurado de topMostViewController.view.frame
acordo com a distância perturbada.
Etapa 8: - Instância da classe IQKeyboardManager singleton instanciada no carregamento do aplicativo, para que todos UITextField
/ UITextView
no aplicativo se ajustem automaticamente de acordo com a distância de movimentação esperada.
Isso é tudo