IOS удалить клавиатуру
У меня есть несколько полей для редактирования текста, а также кнопка для отображения uidatepicker... если я перехожу к uitextedit, появляется клавиатура, но когда я нажимаю кнопку, клавиатура все еще здесь... как я могу ее удалить?
Спасибо!
4 ответа
Вам нужно использовать resignFirstResponder
смотри этот похожий вопрос.
[myTextField resignFirstResponder];
Посмотрите этот ответ, чтобы узнать, как проще всего это сделать: легкий способ отменить клавиатуру?
[self.view endEditing:YES];
Вызов -resignFirstResponder
в текущем редактируемом текстовом поле.
Есть случаи, когда у меня нет прямого доступа к "первому ответчику", поэтому я склонен использовать другой подход. У меня есть служебный класс для клавиатуры с этой функцией:
+ (BOOL)dismiss:(UIView *)view
{
if (view.isFirstResponder) {
[view resignFirstResponder];
return YES;
}
for (UIView *subView in view.subviews) {
if ([Keyboard dismiss:subView]) // It's calling itself, just to be perfectly clear
return YES;
}
return NO;
}
Это позволяет мне просто позвонить, например: [Keyboard dismiss:self.view]
из любой точки UIViewController
,