在iOS中关闭键盘

Yi *_* Li 0 keyboard ios swift

我查看并尝试了Swift 3,Xcode 8的多个解决方案,但无法使用.我试过了:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    self.view.endEditing(true)         
}
Run Code Online (Sandbox Code Playgroud)

并将文本字段输入设置为第一响应者:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {            
    pressureInput.resignFirstResponder()
}
Run Code Online (Sandbox Code Playgroud)

我不知道从Xcode 8到Xcode 9的某些东西导致这些方法不起作用,或者我是否在其他地方搞砸了.我有9个文本字段,他们都设置了委托给自己.它们的标签会增加,以便在按下返回时移动到下一个文本字段.不要以为这会影响它.对不起,新来的!这些尝试函数中的任何一个都可以正常运行代码,但键盘保持不变.我想在任何文本字段之外触摸时解除键盘.

ans*_*ing 11

首先在任何swift文件中编写此扩展

extension UIViewController {
    func hideKeyboardWhenTappedAround() {
        let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissKeyboard))
        view.addGestureRecognizer(tap)

    }

    func dismissKeyboard() {
        view.endEditing(true)
    }
}
Run Code Online (Sandbox Code Playgroud)

比在该视图的viewDidLoad中,只在任何视图控制器中调用有textFields.

self.hideKeyboardWhenTappedAround()
Run Code Online (Sandbox Code Playgroud)