我有一個ViewController
具有textSearchTableView:UITableView
和搜索欄:UISearchBar
Dissmissing鍵盤,而無需調用didSelectRowAtIndexPath方法
我加UITapGestureRecognizer
到dissmis鍵盤
override func viewDidLoad() {
// ...
self.tap = UITapGestureRecognizer(target: self, action: "DissmissKeyboard")
self.tap.delegate = self
self.view.addGestureRecognizer(self.tap)
// ...
}
func DissmissKeyboard()
{
view.endEditing(true)
}
我已經加入此功能,以防止破壞(didSelectRowAtIndexPath方法)功能選擇了電池後
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
if touch.view.isDescendantOfView(self.textSearchTableView) {
return false
}
return true
}
但問題是:當鍵盤被啓用,我想dissmiss它,
如果我點擊textSearchTableView,(didSelectRowAtIndexPath方法)將運行
我怎樣才能dissmiss鍵盤,如果我在tableView
點擊沒有調用(didSelectRowAtIndexPath)?我不希望打破以及
我希望我所描述的問題以及 非常感謝
在你的情況下,如果用戶在屏幕上的任何地方點擊,那麼關閉鍵盤是一個壞主意。用戶點擊哪裏?它必須是表中的一行,因此也是你的問題。我會在鍵盤上放置一個完成按鈕並將resiginFirstResponder附加到它上面。 –