12

如何在 iphone 中以编程方式隐藏键盘?

4

6 回答 6

22

告诉当前是第一响应者的 UIResponder 子类放弃其第一响应者状态:

[responder resignFirstResponder];
于 2010-04-06T17:41:37.337 回答
20
[textFieldName resignFirstResponder];
于 2010-04-07T08:40:14.153 回答
4

这简单:

对象

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

迅速

UIApplication.shared.keyWindow?.endEditing(true)

查看UIView Class Reference 的 endEditing。导致视图(或其嵌入的文本字段之一)放弃第一响应者状态。并且keyWindow是唯一接收键盘事件的窗口,因此该解决方案保证始终有效。

于 2013-04-16T10:20:03.227 回答
2

在你的 ViewController 中调用它

[self.view endEditing:YES];
于 2012-12-12T13:00:01.907 回答
0

如果您使用的是textview那么

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

如果您使用的是文本字段,那么

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

[textField resignFirstResponder];

 }
于 2013-07-20T07:05:47.913 回答
0

这是快速版本:

UIApplication.sharedApplication().sendAction("resignFirstResponder", to:nil, from:nil, forEvent:nil)
于 2015-11-10T05:19:07.900 回答