Обнаружение клавиатуры iPad скрывается по сравнению с подключением внешней клавиатуры?

Виртуальная клавиатура iPad исчезнет при одном (по крайней мере), из этих 3 обстоятельств:

  1. Если управление (говорят, UITextField) программно оставляет первого респондента.
  2. Если пользователь касается, "отклоняют клавиатуру" кнопка в нижнем правом углу.
  3. Если пользователь соединяется с периферийным устройством USB/клавиатуры с док-станцией.

Во всех случаях я добираюсь UIKeyboardWillHideNotification.

Проблема состоит в том, что первые два случая обычно эквивалентны - другими словами, пользователь сделан, редактируя текстовое поле. Но в третьем случае, текстовое поле все еще редактируется, только из другого входного источника.

Проблема обнаруживает различие между случаями 2 и 3. Все, что я получаю в обоих случаях, UIKeyboardWillHideNotification. В случае, если 2, я обычно хочу также заблокировать средства редактирования и фиксировать значение. В случае, если 3, я обычно хочу ничего не сделать и позволить редактировать для продолжения.

Но как я могу сказать различие?

Приложение Страниц Apple, кажется, может отличить это на переименовании заголовка документа.

17
задан Ben Zotto 20 May 2010 в 16:30
поделиться

2 ответа

Я бы посмотрел на UIKeyboardBoundsUserInfoKey, переданный с уведомлением. У физической клавиатуры, вероятно, есть пустые границы.

2
ответ дан 30 November 2019 в 14:50
поделиться

Похоже, вы просто пытаетесь выяснить, когда пользователь завершил редактирование. Вы можете прослушивать уведомление UITextFieldTextDidEndEditingNotification для случаев 1 и 2.

Гораздо более простым решением было бы, не могли бы вы просто проверить свойство редактирования для UITextField , чтобы определить, нужно ли его редактировать или нет? У меня нет физической клавиатуры, поэтому у меня нет возможности это проверить. Я просто догадываюсь.

Вот ссылка на документацию по этому свойству: http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UITextField_Class/Reference/UITextField.html#//apple_ref/occ/ instp / UITextField / edit

Мне очень любопытно узнать, работает это или нет ... :)

2
ответ дан 30 November 2019 в 14:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: