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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了触摸另一个控件(如按钮)Swift 2.0时如何隐藏键盘相关的知识,希望对你有一定的参考价值。

我已经阅读了这个页面:Close iOS Keyboard by touching anywhere using Swift了解如何隐藏键盘,当我触摸视图时它很好,但当我触摸按钮时它不起作用,有人知道吗?

答案

将其粘贴到您的控制器中:

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

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

}
另一答案

这是一个黑客,但它工作得很好,键盘甚至隐藏在背景上。我不确定按钮是否能解决您的问题,但请试一试!

编辑:尝试将UITapGestureRecognizer添加到您的按钮?

在viewDidLoad中添加代码:

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

将其添加到viewDidLoad。

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

以上是关于触摸另一个控件(如按钮)Swift 2.0时如何隐藏键盘的主要内容,如果未能解决你的问题,请参考以下文章

(Swift) 如何使用触摸按钮更改 pageviewcontroller 中的视图

Swift设置按钮图像

Swift 5. 如何在按钮触摸时呈现或显示 ViewController?没有情节提要(以编程方式)

如何在 Swift 中将触摸事件发送到 nextResponder

如何防止 UILabel 在 Swift 中阻止对父 UIButton 的触摸?

斯威夫特,触摸 UIButton 并触摸另一个