Скрыть клавиатуру ввода на iPhone, не зная первого ответчика? - PullRequest
10 голосов
/ 02 июля 2010

Я видел этот вопрос , но вопрос в том, как узнать, какой textView является первым респондентом? Этот вопрос выглядел многообещающе , чтобы определить первого респондента, но оказалось, что он вызывает частные API. Можно ли как-нибудь спрятать клавиатуру или определить первого респондента как «тот, у кого есть клавиатура»?

Ответы [ 3 ]

25 голосов
/ 09 ноября 2011

Это просто:

[[[UIApplication sharedApplication] keyWindow] endEditing:YES];

взгляните на Описание классов UIView .

4 голосов
/ 02 июля 2010

[textView isFirstResponder] должен сказать вам, если это первый респондент. Я полагаю, вы могли бы просто пройтись по всем текстовым полям в вашем классе, чтобы проверить, является ли это первым респондентом.

Или вы можете просто вызвать resignFirstResponder для каждого textField, и он все равно будет работать.

3 голосов
/ 02 июля 2010

Я считаю, что вы должны выбрать что-то, чтобы стать первым респондентом, что-то, что, вероятно, ничего не делает само по себе, и позвонить -[UIResponder becomeFirstResponder] на это. Это будет хорошо работать с UIViewController или UIWindow (который вы можете получить через -[UIView window], я думаю), потому что они будут иметь самые похожие цепочки респондентов и приведут к тому, что текущий firstResponder потеряет свой статус firstResponder, отклоняя клавиатуру, но также не вызывать клавиатуру, так как это не будет UITextField.

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