簡體   English   中英

GestureRecognizer在TableView上不起作用

[英]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

Apple上的文檔

Docs的討論摘錄:

當此屬性為true(默認值)並且接收方識別出其手勢時,該手勢的未決觸摸不會傳遞到視圖,並且先前發送的觸摸會通過touchesCancelled:withEvent:發送到視圖的消息取消。 如果手勢識別器無法識別其手勢,或者此屬性的值為false,則視圖將接收多點觸摸序列中的所有觸摸。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM