如何在 iPhone 上使用编程方式隐藏键盘

12

如何在iPhone上编程方式隐藏键盘?

6个回答

22
告诉当前作为第一响应者的UIResponder子类放弃其第一响应者状态:
[responder resignFirstResponder];

20
[textFieldName resignFirstResponder];

4
很容易:

ObjC

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

Swift

UIApplication.shared.keyWindow?.endEditing(true)

请看 UIView类参考文档中的endEditing方法。该方法会导致视图(或其嵌入的文本字段之一)放弃第一响应者状态。而keyWindow是唯一接收键盘事件的窗口,因此这个解决方案保证始终有效。

2

在你的ViewController中调用此方法

[self.view endEditing:YES];

0

这是 Swift 版本:

UIApplication.sharedApplication().sendAction("resignFirstResponder", to:nil, from:nil, forEvent:nil)

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];

 }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接