Клавиатура скрыта после становления первого ответчика - PullRequest
3 голосов
/ 17 июня 2011

Я перенес фокус на UITextView после того, как для его свойства .hidden установлено значение NO. Когда я устанавливаю [textViewcomeFirstResponder], textView получает небольшой курсор ввода, но клавиатура остается скрытой. Есть идеи почему? Если это помогает, главное представление - это модальное представление, которое представляет UINavigationController.

РЕДАКТИРОВАТЬ: Вот метод, который вызывается:

- (void)show_comment_elements {

    toolbar.hidden = YES;
    main_table.hidden = YES;
    add_comment_table.hidden = NO;
    comment_text.hidden = NO;

    [comment_text becomeFirstResponder];

}

Вот скриншот:

frustration

Ответы [ 2 ]

4 голосов
/ 21 июня 2011

Я предполагаю, что вы убедились, что ваш метод вызывается после размещения представления на экране.

Из документов ....

Объект-ответчик становится только первый ответчик, если текущий Ответчик может уйти в отставку первым ответчиком статус (canResignFirstResponder) и новый респондент может стать первым Ответчик.

Вы можете вызвать этот метод, чтобы сделать объект респондента, такой как вид первый ответчик. Тем не менее, вы должны называйте это только в том случае, если часть иерархии представления. Если свойство окна view содержит UIWindow объект, он был установлен в иерархии представлений; если он вернется ноль, вид отделен от любого иерархия.

Итак:

  1. Можете ли вы подтвердить, что текущий респондент при вызове вашего метода может отказаться от статуса первого респондента?

  2. Ваш вид отображается в иерархии видов, если он отображается на снимке экрана. Если снимок экрана от IB, проверьте, что свойство окна представления не равно nil.

  3. Убедитесь, что представление редактируемое - если (comment_text.isEditable) или оно не примет статус первого респондента.

  4. Попробуйте добавить [comment_text setNeedsDisplay], чтобы вызвать повторное обновление с представлением, установленным в качестве первого респондента.

Если ничего из этого не работает, отправьте еще немного кода (например, откуда вызывается метод).

0 голосов
/ 24 марта 2013

Эта проблема также возникает при изменении nextResponder на некотором объекте в цепочке, чтобы цепочка респондента не переходила к UIWindow.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...