響應者鏈條

2021-07-10 08:15:30 字數 773 閱讀 5700

發生觸控事件後,

系統佇列

不接收使用者互動

userinteractionenabled = no隱藏

hidden = yes透明

alpha = 0.0 ~ 0.01

主視窗會在檢視層次結構中

找到乙個最合適的檢視來處理觸控事件

,但是這僅僅是整個事件處理過程的第一步 找到合適的檢視控制項後,就會呼叫檢視控制項的touches方法來作具體的事件處理

touchesbegan…

touchesmoved…

touchedended… 這些touches方法的

預設做法

是將事件順著

響應者鏈條

向上傳遞,將事件交給

上乙個響應者

進行處理

先將事件物件由上往下傳遞(由父控制項傳遞給子控制項),找到最合適的控制項來處理這個事件。 呼叫最合適控制項的touches….方法 如果呼叫了[super touches….];就會將事件順著響應者鏈條往上傳遞,傳遞給上乙個響應者 接著就會呼叫上乙個響應者的touches….方法
如果當前這個view是控制器的view,那麼控制器就是上乙個響應者 如果當前這個view不是控制器的view,那麼父控制項就是上乙個響應者
為什麼用佇列管理事件,而不用棧?
佇列先進先出,能保證先產生的事件先處理。棧先進後出。

響應者鏈條

所謂的響應者鏈條簡單的說 就是一級一級的查詢處理該事件的物件.當查詢到合適的物件,則執行該任務.它的目的 主迴圈捕捉到事件,找到最佳合適處理該事件的響應者 對於ios裝置使用者來說,他們操作裝置的方式主要有三種 觸控螢幕 晃動裝置 通過遙控設施控制裝置。對應的事件型別有以下三種 1 觸屏事件 tou...

IOS 響應者鏈條

對於ios裝置使用者來說,他們操作裝置的方式主要有三種 觸控螢幕 晃動裝置 通過遙控設施控制裝置。對應的事件型別有以下三種 1 觸屏事件 touch event 2 運動事件 motion event 3 遠端控制事件 remote control event 響應者物件 responder obj...

事件處理響應者鏈條

mj 事件的完整處理過程 1.先將事件物件由上往下傳遞 由父控制項傳遞給子控制項 找到最合適的控制項來處理這個事件 2.呼叫最合適控制項的touches.方法 3.如果touches.裡面呼叫了 super touches.方法,則順著響應者鏈條往上找,找到上乙個響應者 4.執行上乙個響應者的tou...