IQKeyboardManager lo fa per te SENZA LINEA DI CODICE , devi solo trascinare e rilasciare il file sorgente correlato al progetto. IQKeyboardManager supporta anche l' orientamento del dispositivo , la gestione automatica della barra degli strumenti UIT , keyboardDistanceFromTextField e molto altro di quanto pensi.
Ecco il diagramma di flusso di controllo:
Fase 1: - Aggiunta notifiche globali di UITextField
, UITextView
e UIKeyboard
in una classe Singleton. L'ho chiamato IQKeyboardManager .
Fase 2: - Se trovato UIKeyboardWillShowNotification
, UITextFieldTextDidBeginEditingNotification
o UITextViewTextDidBeginEditingNotification
le notifiche, quindi cercare di ottenere topMostViewController
esempio dalla UIWindow.rootViewController
gerarchia. Per correttamente uncover UITextField
/ UITextView
su di esso, topMostViewController.view
's telaio deve essere regolata.
Fase 3: - Distanza di movimento prevista calcolata topMostViewController.view
rispetto alla prima risposta UITextField
/ UITextView
.
Step4: - Spostato topMostViewController.view.frame
su / giù in base alla distanza di movimento prevista.
Fase 5: - Se trovato UIKeyboardWillHideNotification
, UITextFieldTextDidEndEditingNotification
o UITextViewTextDidEndEditingNotification
la notifica, poi di nuovo cercare di ottenere topMostViewController
esempio dalla UIWindow.rootViewController
gerarchia.
Step6: - Distanza disturbata calcolata topMostViewController.view
che deve essere ripristinata nella sua posizione originale.
Step7: - Ripristinato topMostViewController.view.frame
in base alla distanza disturbata.
Passaggio 8: - Istanza della classe IQKeyboardManager singleton istanziata al caricamento dell'app, quindi ogni UITextField
/ UITextView
nell'app verrà regolata automaticamente in base alla distanza di spostamento prevista.
È tutto