響應者

響應者鏈條示意圖

  • 響應者鏈條:是由多個響應者對象連接起來的鏈條
  • 作用:能很清楚的看見每個響應者之間的聯繫,並且可以讓一個事件多個對象處理。
  • 響應者對象:能處理事件的對象
    這裏寫圖片描述

響應者鏈的事件傳遞過程

  • 如果view的控制器存在,就傳遞給控制器;如果控制器不存在,則將其傳遞給它的父視圖
  • 在視圖層次結構的最頂級視圖,如果也不能處理收到的事件或消息,則其將事件或消息傳遞給window對象進行處理
  • 如果window對象也不處理,則其將事件或消息傳遞給UIApplication對象
  • 如果UIApplication也不能處理該事件或消息,則將其丟棄

響應者與事件傳遞的過程

  • 區別:事件傳遞是從父控件傳到子控件,而響應者正好相反,從子控件往上傳遞

事件傳遞

  • 1> 先將事件對象由上往下傳遞(由父控件傳遞給子控件),找到最合適的控件來處理這個事件。
  • 2> 調用最合適控件的touches….方法
  • 3> 如果調用了[super touches….];就會將事件順着響應者鏈條往上傳遞,傳遞給上一個響應者
  • 4> 接着就會調用上一個響應者的touches….方法

如何判斷上一個響應者

  • 1> 如果當前這個view是控制器的view,那麼控制器就是上一個響應者
  • 2> 如果當前這個view不是控制器的view,那麼父控件就是上一個響應者
  • UIWindow可以拿到視圖中所有的控件的點擊事件
發佈了25 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章