作者:手机用户2502909917 | 来源:互联网 | 2023-01-08 19:46
我查看并尝试了Swift 3,Xcode 8的多个解决方案,但无法使用.我试过了:
override func touchesBegan(_ touches: Set, with event: UIEvent?) {
self.view.endEditing(true)
}
并将文本字段输入设置为第一响应者:
override func touchesBegan(_ touches: Set, with event: UIEvent?) {
pressureInput.resignFirstResponder()
}
我不知道从Xcode 8到Xcode 9的某些东西导致这些方法不起作用,或者我是否在其他地方搞砸了.我有9个文本字段,他们都设置了委托给自己.它们的标签会增加,以便在按下返回时移动到下一个文本字段.不要以为这会影响它.对不起,新来的!这些尝试函数中的任何一个都可以正常运行代码,但键盘保持不变.我想在任何文本字段之外触摸时解除键盘.
1> anshul king..:
首先在任何swift文件中编写此扩展
extension UIViewController {
func hideKeyboardWhenTappedAround() {
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissKeyboard))
view.addGestureRecognizer(tap)
}
func dismissKeyboard() {
view.endEditing(true)
}
}
比在该视图的viewDidLoad中,只在任何视图控制器中调用有textFields.
self.hideKeyboardWhenTappedAround()