UIView不處理它們的事件將它們傳遞給鏈。默認情況下,這將它們傳遞給它們的父視圖,並且如果沒有(最終)處理它們的父級UIViewController。修復UIScrollView傳遞鏈條而不是DOWN的事件
的UIScrollView打破這個(有很多的問題上SO,變化上的「爲什麼我的應用程序停止工作,一旦我添加一個UIScrollView?主題)
UISV確定該事件是否是爲自己,如果不是,它將它傳遞給它(它的子視圖);如果它們沒有處理這個事件,UISV就把它扔掉,這就是錯誤
在這種情況下,它應該把它們拋回到它自己的父視圖AFAICT,這就是爲什麼這麼多人會感到困惑:它不像記錄那樣工作(注意:由於觀點被記錄在案; UISV在這個問題上僅僅是「無證」的 - 它並沒有宣佈它在這種情況下的目標)。
所以......這個bug有沒有簡單的解決方法?有沒有我可以寫的一個類別,可以修復UISV 的一般,並避免我必須創建「虛假」的UIView子類,這些子類純粹是爲了捕獲事件並將它們交給他們應該去的地方? (這使得容易出錯的代碼)
特別是,從蘋果的文檔:
,即便是沒有位置的顯著變化時觸發,滾動視圖將跟蹤事件的內容的觸摸子視圖視圖。如果用戶在計時器過去之前拖動手指足夠遠,則滾動視圖取消子視圖中的任何跟蹤並執行滾動本身。
...如果我可以覆蓋,「如果計時器火災」的方法,並執行它正確,我相信我能解決我所有的UISV實例。
但是: - 蘋果會考慮這個「使用私有API」(他們的「私人」的描述是在正常的編程術語荒謬的,我不明白他們做什麼,不要被它的意思) - 有人知道這種方法是什麼,或者找到它的好方法嗎? (調試編譯ObjC類來查找符號名字,也許?)