2017-01-24 11 views
2

У меня есть подкласс UIViewController, который реализует UIKeyInput. Это полноэкранный контроллер, который должен контролировать клавиатуру. Я показываю клавиатуру в зависимости от области просмотра с resignFirstResponder и assignFirstResponder.UIViewController <UIKeyInput> показывает клавиатуру при возврате

canBecomeFirstResponder переопределяется для возврата YES. Однако, когда другой контроллер представления выскочит из стека (т. Е. Нажата кнопка назад) назад к этому контроллеру представления, клавиатура появляется, а затем исчезает. Почти как если бы он вызывал canBecomeFirstResponder, см. Да, показывает клавиатуру, затем resignFirstResponder вызывается в viewDidAppear, который скрывает клавиатуру.

Есть ли способ держать клавиатуру скрытой до тех пор, пока не назовешь assignFirstResponder?

ответ

1

Вы можете переопределить -isFirstResponder и вернуть NO (или на заказ, условная логика) от этого метода для того, чтобы предотвратить такой вид клавиатуры:

- (BOOL) isFirstResponder { 
    return NO; // or something else, depending on conditions 
} 
+0

Совершенных. Благодаря! – Adamski