Как скрыть клавиатуру программно в iphone - PullRequest
12 голосов
/ 06 апреля 2010

Как программно спрятать клавиатуру в iphone?

Ответы [ 6 ]

22 голосов
/ 06 апреля 2010

Сообщите подклассу UIResponder, который в настоящее время является первым респондентом, чтобы оставить свой статус первого респондента:

[responder resignFirstResponder];
20 голосов
/ 07 апреля 2010
[textFieldName resignFirstResponder];
4 голосов
/ 16 апреля 2013

Это просто:

ObjC

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

Swift

UIApplication.shared.keyWindow?.endEditing(true)

взгляните на Ссылку на класс UIView для endEditing . Заставляет представление (или одно из его встроенных текстовых полей) отказаться от статуса первого респондента. И keyWindow - единственное окно, которое получает события клавиатуры, поэтому гарантируется, что это решение всегда будет работать.

2 голосов
/ 12 декабря 2012

Вызовите это в вашем ViewController

[self.view endEditing:YES];
0 голосов
/ 10 ноября 2015

Вот быстрая версия:

UIApplication.sharedApplication().sendAction("resignFirstResponder", to:nil, from:nil, forEvent:nil)
0 голосов
/ 20 июля 2013

Если вы используете textview , тогда

- (BOOL)textView:(UITextView *)textView
 shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text
{
  if ([text isEqualToString:@"\n"])
 {
    [textView resignFirstResponder];
    [self keyboardWillHide];
 }
}

, а если вы используете textfield , то

-(BOOL)textFieldShouldReturn:(UITextField*)textField;
 {

[textField resignFirstResponder];

 }
...