提问者:小点点

触摸另一个控件(如按钮)时如何隐藏键盘Swift 2.0


我读过这个页面:通过触摸任何地方来关闭iOS键盘,使用Swift找出如何隐藏键盘,当我触摸视图时很好,但是当我触摸按钮时,它不起作用,有人知道吗?


共3个答案

匿名用户

将此粘贴到控制器中:

let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(YourViewController.dissmissKeyboard))
    view.addGestureRecognizer(tap)

 @objc func dissmissKeyboard() {
    view.endEditing(true)

}

匿名用户

这是一个相当黑客,但它工作得很好,键盘甚至隐藏时,点击背景。我不确定这是否能解决你的按钮问题,但是试一试吧!

编辑:尝试将UITapGesture识别器添加到您的按钮?

在视图中加载添加代码:

self.hideKeyboardWhenTappedAround()

然后向ViewController添加一个扩展:

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

func dismissKeyboard() {
    view.endEditing(true)
}
}

对我来说很有效。

匿名用户

SWIFT 4

将此添加到您的viewddLoad。

 let endEditingTapGesture = UITapGestureRecognizer(target: view, action: #selector(UIView.endEditing(_:)))
        endEditingTapGesture.cancelsTouchesInView = false
        view.addGestureRecognizer(endEditingTapGesture)