Скрыть клавиатуру ввода на iPhone, не зная первого ответчика?

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

Ответ 2

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

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

Ответ 3

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