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