在我问这个之前,我尝试其他解决方案并且它不起作用
这是我的代码
override func viewDidLoad() {
super.viewDidLoad()
let tapGesture = UITapGestureRecognizer(target: self, action: "didTouchBoard:")
view.addGestureRecognizer(tapGesture)
tapGesture.cancelsTouchesInView = true
}
当我点击任何地方它会隐藏键盘(如果存在),但是如果我点击tableviewcell或collectionviewcell,它将不会点击
我尝试这个tapGesture.cancelsTouchesInView,但不能正常工作
答案 0 :(得分:4)
如果您希望表视图接收触摸,请更改tapGesture.cancelsTouchesInView
tapGesture.cancelsTouchesInView = false
答案 1 :(得分:3)
您必须添加UITextFeildDelegate方法才能在视图中启用和禁用点击手势
let tapGesture = UITapGestureRecognizer(target: self, action: "didTouchBoard:")
实施以下方法
func textFieldDidBeginEditing(textField: UITextField) {
self.view.addGestureRecognizer(self.tapGesture) }
func textFieldDidEndEditing(textField:UITextField){ self.view.removeGestureRecognizer(self.tapGesture) }
我认为这可能对你有用