Виртуальная клавиатура iPad исчезнет при одном из (как минимум) следующих трех обстоятельств:
- Если элемент управления (скажем, UITextField) программно подает в отставку первый респондент.
- Если пользователь нажимает кнопку «отклонить клавиатуру» в правом нижнем углу.
- Если пользователь подключается к периферийной док-станции USB / клавиатуры.
Во всех случаях я получаю UIKeyboardWillHideNotification
.
Проблема в том, что первые два случая, как правило, эквивалентны - другими словами, пользователь завершил редактирование текстового поля. Но в третьем случае текстовое поле все еще редактируется, просто из другого источника ввода.
Проблема заключается в обнаружении разницы между случаями 2 и 3. Все, что я получаю в обоих случаях, это UIKeyboardWillHideNotification
. В случае 2, я обычно хочу также заблокировать элемент управления редактирования и зафиксировать значение. В случае 3 я обычно хочу ничего не делать и разрешить редактирование продолжить.
Но как я могу определить разницу?
Кажется, что приложение Apple Pages способно различить это при переименовании заголовка документа.