簡體   English   中英

是否可以在UIScrollView中刪除UIButton突出顯示狀態的延遲?

[英]Is it possible to remove the delay of UIButton's highlighted state inside a UIScrollView?

我注意到如果UIButton位於UIScrollView(或表視圖)中,則在觸發時會突然顯示UIButton的突出顯示狀態。 否則,突出顯示的狀態幾乎是瞬間完成的。

我猜測這必須是按設計的,以便為用戶提供滾動的機會。 但似乎按鈕對我沒有反應。 有沒有辦法來解決這個問題?

實際上,這是一個設計選擇。 需要這么短的時間來區分滾動(panGesture)和水龍頭。 如果您消除了此延遲,則用戶將手指放在按鈕頂部時將無法滾動,這不是良好的用戶體驗。

因為滾動視圖沒有滾動條,所以它必須知道觸摸是否表示滾動意圖與跟蹤內容中的子視圖的意圖。 為了做出這種確定,它通過啟動計時器暫時攔截觸碰事件,並且在計時器觸發之前,查看觸摸手指是否進行任何移動。 如果計時器在沒有顯着位置變化的情況下觸發,則滾動視圖將跟蹤事件發送到內容視圖的觸摸子視圖。

來自UIScrollView文檔

我不建議禁用延遲,但如果你堅持,你可以在界面構建器中設置它(選擇滾動視圖,在右側面板上,在“Bounces Zoom”下面),或者使用以下代碼:

scrollView.delaysContentTouches = false

暫無
暫無

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

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