讓我們來看看你的兩個屬性是做什麼的。
delaysContentTouches
:如果此屬性的值爲true,那麼滾動視圖將延遲處理向下觸摸手勢,直到它可以確定滾動是否爲意圖。如果該值爲false,則滾動視圖會立即調用touchesShouldBegin(_:with:in :)。默認值是true。
canCancelContentTouches
如果此屬性的值爲true,並且內容中的視圖已開始跟蹤觸摸它的手指,並且用戶拖動手指足以啓動滾動,則視圖會接收touchesCancelled(_:with :)消息,並且滾動視圖將觸摸處理爲滾動。如果此屬性的值爲false,則一旦內容視圖開始追蹤,無論手指移動如何,滾動視圖都不會滾動。
首先,您將delaysContentTouches設置爲false。因此,scrollview立即調用內容視圖的觸摸處理方法,從而允許它處理觸摸。顯然,即使拖動,滾動視圖也不會立即開始滾動。
其次,您還將canCancelContentTouches設置爲false。但是,如果滾動視圖不允許「接管」內容已經處理的觸摸(通過取消它們),它將永遠無法在稍後開始滾動。因此,如果您的觸摸點擊了內容視圖,滾動視圖將不可能開始滾動:它不允許立即滾動,因爲它不允許延遲內容觸摸,並且無法開始滾動後來因爲無法取消內容觸及。
我不知道你的單元格內發生了什麼,不知道你在那裏放哪些代碼。然而,你應該允許你的tableview延遲觸摸(這意味着你的單元格不會處理因爲它們打算作爲滾動手勢而立即被取消的滑動),並且取消內容觸摸(這意味着當你觸摸向下並且不釋放,在單元格突出顯示後,您仍然可以開始滾動手勢)。
你有什麼子視圖在您的收藏觀察室? – Frankie
1圖像,1個覆蓋層和1像這樣](https://photos.google.com/share/AF1QipOkIALy0nYjoOSQOBno0DyeYVXIyKPSTX_hcQ2jVuKMCVb-xzi8tOY6FeX21K_RXg?key=cksxVWhRMzBnekp3R0hwMmNrWWxKZGVHeU9KN2lB) –
簡單的方法來解決這個問題。創建示例應用程序。壓縮文件。上傳到github,讓我們檢查它 –