IQKeyboardManager сделайте это за вас с помощью БЕЗ СТРОКИ КОДА, нужно только перетащить и перетащите связанный исходный файл в проект. IQKeyboardManager также поддерживает ориентацию устройства, автоматическое управление UIToolbar. , keyboardDistanceFromTextField и многое другое, чем вы думаете.
![введите описание изображения здесь](https://i.stack.imgur.com/emIhl.png)
Вот блок-схема управления: ![Блок-схема управления](https://i.stack.imgur.com/v2bGW.jpg)
Шаг 1: - добавлены глобальные уведомления о UITextField
, UITextView
и UIKeyboard
в одноэлементном классе. Я назвал его IQKeyboardManager.
Шаг 2: - Если обнаружены UIKeyboardWillShowNotification
, UITextFieldTextDidBeginEditingNotification
или UITextViewTextDidBeginEditingNotification
уведомления, попробуйте получить topMostViewController
экземпляр из UIWindow.rootViewController
иерархии. Чтобы правильно раскрыть _9 _ / _ 10_ на нем, необходимо отрегулировать рамку topMostViewController.view
.
Шаг 3: - Расчетное ожидаемое расстояние перемещения topMostViewController.view
по отношению к первому ответившему _13 _ / _ 14_.
Шаг 4: - Перемещение topMostViewController.view.frame
вверх / вниз в соответствии с ожидаемым расстоянием перемещения.
Шаг 5: - Если обнаружено UIKeyboardWillHideNotification
, UITextFieldTextDidEndEditingNotification
или UITextViewTextDidEndEditingNotification
уведомление, снова попробуйте получить topMostViewController
экземпляр из UIWindow.rootViewController
иерархии.
Шаг 6: - Расчетное расстояние topMostViewController.view
с нарушением, которое необходимо восстановить в исходное положение.
Шаг 7: - Восстановлено topMostViewController.view.frame
вниз в соответствии с нарушенным расстоянием.
Step8: - экземпляр класса singleton IQKeyboardManager при загрузке приложения, поэтому каждый UITextField
/ UITextView
в приложении автоматически настроится в соответствии с ожидаемым расстоянием перемещения.
Это все
person
Mohd Iftekhar Qurashi
schedule
17.07.2013