IQKeyboardManager le faire pour vous avec AUCUNE LIGNE DE CODE, il suffit de faire glisser et de déposer liées fichier source du projet. IQKeyboardManager également de support de Dispositif d'Orientation, Automatique UIToolbar de Gestion, KeybkeyboardDistanceFromTextField et beaucoup plus que vous le pensez.
Voici mon approche de mise en œuvre de IQKeyboardManager.
Etape 1:- j'ai Ajouté mondial des notifications d' UITextField
, UITextView
, et UIKeyboard
dans une classe singleton. Je l'appelle IQKeyboardManager.
Etape n ° 2:- Si trouvé UIKeyboardWillShowNotification
, UITextFieldTextDidBeginEditingNotification
ou UITextViewTextDidBeginEditingNotification
des notifications, j'essaie de m' topMostViewController
de la UIWindow.rootViewController
de la hiérarchie. Afin de bien découvrir UITextField
/UITextView
sur, topMostViewController.view
'image doit être ajusté.
Etape n ° 3:- j'ai calculé devrait distance de déplacement de l' topMostViewController.view
à l'égard des premières répondu UITextField
/UITextView
.
Etape n ° 4:- j'ai déménagé topMostViewController.view.frame
vers le haut/vers le bas en fonction de la distance de déplacement.
Etape 5:- Si trouvé UIKeyboardWillHideNotification
, UITextFieldTextDidEndEditingNotification
ou UITextViewTextDidEndEditingNotification
de notification, j'ai de nouveau essayer d'obtenir de l' topMostViewController
de la UIWindow.rootViewController
de la hiérarchie.
Etape 6:- j'ai calculé perturbé distance de topMostViewController.view
qui doit être restauré à leur position d'origine.
Step7:- j'ai restauré topMostViewController.view.frame
à la baisse selon la perturbés distance.
Step8:- j'ai instancié singleton IQKeyboardManager instance de la classe sur l'application de la charge, de sorte que chaque UITextField
/UITextView
dans l'app s'ajuste automatiquement en fonction de la distance de déplacement.
C'est tout