我有一个手势识别器可以解开我的键盘,但这会妨碍tableView didSelectAtRow,因为tableView不会识别水龙头,除非是长按。当我在模拟器中运行它,并轻轻点击tableViewCell时,它会注册为点击以关闭键盘,而不是点击tableView。但是,如果我在模拟器中点按并保持一段时间,它将关闭键盘并注册为tableView的didSelectAtRow。这类似于问题UITableView clicked and no cell selected,but long press trigger cell selected,但我不知道如何使用Objective-C。我想知道是否有人解决了我的问题。我在想是否有办法认识到我点击了tableView,即gestureRecognizer会被取消,但我不知道该如何继续。
这是我到目前为止所做的:
override func viewDidLoad() {
super.viewDidLoad()
searchBar.delegate = self
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(AddressVC.hideKeyboard))
tapGesture.cancelsTouchesInView = false
//searchResultsTableView.addGestureRecognizer(tapGesture)
self.view.addGestureRecognizer(tapGesture)
}
func hideKeyboard()
{
self.view.endEditing(true)
}