iOS響應鏈

響應鏈:

當事件發生的時候,響應鏈首先被發送給第一個響應者(往往是事件發生的視圖,也就是用戶觸摸屏幕的地方)。事件將沿著響應者鏈一直向下傳遞, 直到被接受并作出處理。一般來說,第一響應這是個視圖對象或者其子類,當其被觸摸后事件就交由它處理,如果他不處理,時間就會被傳遞給視圖控制器對象UIViewController(如果存在),然后是它的父視圖對象(superview),以此類推知道頂層視圖。接下來會沿著頂層視圖(top view)到窗口(UIwindow 對象) 再到程序的(UIApplication對象),如果整個過程都沒有響應這個事件,則該事件被丟棄,一般情況下,在響應鏈中只要有對象處理事件,事件就會被傳遞。

典型的響應路線圖如:

First? Responser --> The Window -->The Applicationn --> App Delegate

正常的響應者鏈流程經常被委托打斷,一個對象可能將響應工作委托給另一個對象來完成(通常是視圖控制器viewcontroller)。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 最近在寫一個圖片瀏覽的需求,一些地方我使用了響應者來處理,順便又去看看了官方文檔,這里記錄一下官方文檔,并給出一些...
    HelloAda閱讀 10,902評論 3 36
  • 用戶以多種方式操縱他們的iOS設備,例如觸摸屏幕或搖動設備。 iOS會解釋用戶何時以及如何操作硬件并將此信息傳遞到...
    坤坤同學閱讀 4,036評論 7 19
  • 首先清楚兩個概念響應者:對用戶交互動作事件進行響應的對象。響應者鏈:成為處理事件的響應者的先后順序鏈。平時當我們點...
    mengyingguo閱讀 398評論 0 1
  • 當我們在使用微信等工具,點擊掃一掃,就能打開二維碼掃描視圖。在我們點擊屏幕的時候,iphone OS獲取到了用戶進...
    VincentHK閱讀 526評論 0 2
  • 好奇觸摸事件是如何從屏幕轉移到APP內的?困惑于Cell怎么突然不能點擊了?糾結于如何實現這個奇葩響應需求?亦或是...
    Lotheve閱讀 57,995評論 51 603