UICatalog и клавиатурные события - PullRequest
3 голосов
/ 08 марта 2010

Последняя версия примера приложения Apple UICatalog включает нулевой код в TextFieldController для обработки событий отображения / скрытия клавиатуры, и, тем не менее, табличное представление по-прежнему прекрасно перемещается вверх и вниз с помощью клавиатуры.

Кто-нибудь знает, что это за новая хитрость? Существуют ли в XIB параметры, позволяющие им отказаться от регистрации уведомлений или использования методов делегата TextField?

TextViewController по-прежнему использует клавиатурные уведомления, чтобы справиться со скольжением вида, поэтому я действительно не понимаю, почему это больше не включено в TextFields.

Мысли

Ответы [ 2 ]

0 голосов
/ 05 августа 2010

Трюк скрыт в вызове becomeFirstResponder на UITextField, который находится в режиме прокрутки. Очевидно, что при вызове [textField becomeFirstResponder] iOS автоматически прокручивает родительское представление до тех пор, пока не появится textField.

Это поведение на самом деле может быть нежелательным в некоторых случаях, так как обычно оно не прокручивается в то же место, что и метод UIScrollView scrollRectToVisible:animated:, если вы попытаетесь сделать что-то таким образом.

Спасибо всем за ваши мысли!

0 голосов
/ 09 марта 2010

Вы можете закрыть клавиатуру, если она открыта, позвонив по номеру:

[sender resignFirstResponder];

Однако не уверен насчет открытия клавиатуры.

...