我设置为十进制键盘的文本字段一直存在问题,因为它的十进制键盘没有返回键,所以我必须点击背景才能关闭它。我只想允许它在键盘打开时识别该点击。目前,只要您点击背景,它就会识别它。任何帮助都会很棒,谢谢。
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.view.endEditing(true)
label.text = "tapped"
}
最佳答案
您可以添加此扩展程序,它对我有用:
extension UIViewController {
func hideKeyboardWhenTappedAround() {
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissKeyboard))
tap.cancelsTouchesInView = false
view.addGestureRecognizer(tap)
}
@objc func dismissKeyboard() {
view.endEditing(true)
}
}
然后将这个self.hideKeyboardWhenTappedAround()
放入viewDidLoad
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
view.endEditing(true)
}
关于swift - 仅当键盘处于事件状态时,点击背景才能关闭 TextField 键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49216744/