2011-01-20 3 views
3

У меня есть некоторые поля для редактирования текста, а также кнопка для отображения uidatepicker .. если я перейду к uitextedit, появится клавиатура, но когда я нажимаю кнопку, клавиатура все еще здесь ... как я могу его удалить?ios remove keyboard

спасибо!

ответ

9

Вам необходимо использовать resignFirstResponder, см. Это similar question.

[myTextField resignFirstResponder]; 
+0

спасибо, код, который я нашел это: [self.view endEditing: YES]; – ghiboz

2

Позвоните по номеру -resignFirstResponder в текстовое поле, редактируемое в настоящее время.

0

Есть случаи, когда у меня нет прямого доступа к «первому ответчику», поэтому я склонен использовать другой подход. У меня есть служебный класс для клавиатуры с, среди других функций, это одно:

+ (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.

5

Смотрите этот ответ на самый простой способ сделать это: Easy way to dismiss keyboard?

[self.view endEditing:YES]; 
+0

+1 Это замечательно, большое вам спасибо. – swiftBoy