[英]GestureRecognizer doesn't work on TableView
我試圖找到一種方法,當用戶過濾完表格視圖的內容后,只要用戶在屏幕上的其他位置點擊,即可隱藏鍵盤。
但是以某種方式,當我添加一個UITapGestureRecognizer時,TableView會凍結,並且無法進一步進入該應用程序。
這是我的工作:
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard")
self.view.addGestureRecognizer(tap)
func dismissKeyboard() {
view.endEditing(true)
}
我已經在帶有TextField的Blank ViewController上嘗試過它,並且可以正常工作。 我想念什么? 是否有將GestureRecognizer添加到表視圖的特定方法? 因為一旦添加手勢,它就會破壞一切。 我也嘗試過使用具有相同結果的resignFirstResponder。
有什么建議嗎? 謝謝!
嘗試將cancelsTouchesInView
變量設置為false。 默認情況下為true,通過將其設置為false,您可以允許您的手勢響應觸摸,然后將您的手勢向下傳遞回視圖,以便tableView也可以響應。
tap.cancelsTouchesInView = false
Docs的討論摘錄:
當此屬性為true(默認值)並且接收方識別出其手勢時,該手勢的未決觸摸不會傳遞到視圖,並且先前發送的觸摸會通過touchesCancelled:withEvent:發送到視圖的消息取消。 如果手勢識別器無法識別其手勢,或者此屬性的值為false,則視圖將接收多點觸摸序列中的所有觸摸。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.