我想知道如何在用户触摸 UITextField
之外时让键盘消失。
最佳答案
您需要添加一个 UITapGestureRecogniser
并将其分配给 View ,然后在其选择器上的 UITextField
上调用 resign first responder。
代码:
在viewDidLoad中
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissKeyboard)];
[self.view addGestureRecognizer:tap];
在 dismissKeyboard 中:
-(void)dismissKeyboard
{
[aTextField resignFirstResponder];
}
(其中 aTextField
是负责键盘的文本字段)
Swift 3 版本看起来像那样
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.dismissKeyboard (_:)))
self.view.addGestureRecognizer(tapGesture)
对于 dismissKeyboard
@objc func dismissKeyboard (_ sender: UITapGestureRecognizer) {
aTextField.resignFirstResponder()
}
关于iOS - 触摸 UITextField 外部时关闭键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5306240/