響應(yīng)鏈 和 處理

響應(yīng)鏈

  1. 尋找事件的最佳響應(yīng)視圖是通過(guò)對(duì)視圖調(diào)用hitTest和pointInside完成的
  2. hitTest的調(diào)用順序是從UIWindow開(kāi)始,對(duì)視圖的每個(gè)子視圖依次調(diào)用,子視圖的調(diào)用順序是從后面往前面,也可以說(shuō)是從顯示最上面到最下面
  3. 遍歷直到找到響應(yīng)視圖,然后逐級(jí)返回最終到UIWindow返回此視圖

處理者

1.找到最適合的響應(yīng)視圖后事件會(huì)從此視圖開(kāi)始沿著響應(yīng)鏈nextResponder傳遞,直到找到處理事件的視圖,如果沒(méi)有處理的事件會(huì)被丟棄。
2.如果視圖有父視圖則nextResponder指向父視圖,如果是根視圖則指向控制器,最終指向AppDelegate, 他們都是通過(guò)重寫(xiě)nextResponder來(lái)實(shí)現(xiàn)。

注意:
1.Alpha=0、子視圖超出父視圖的情況、userInteractionEnabled=NO、hidden=YES視圖會(huì)被忽略,不會(huì)調(diào)用hitTest
2.父視圖被忽略后其所有子視圖也會(huì)被忽略

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 重點(diǎn)參考鏈接: View Programming Guide for iOS https://developer....
    Kevin_Junbaozi閱讀 4,712評(píng)論 0 15
  • 本文主要講解iOS觸摸事件的一系列機(jī)制,涉及的問(wèn)題大致包括: 觸摸事件由觸屏生成后如何傳遞到當(dāng)前應(yīng)用? 應(yīng)用接收觸...
    baihualinxin閱讀 1,280評(píng)論 0 9
  • 轉(zhuǎn)載: https://blog.csdn.net/qq871531334/article/details/822...
    NicooYang閱讀 1,689評(píng)論 0 9
  • 在iOS開(kāi)發(fā)中經(jīng)常會(huì)涉及到觸摸事件。本想自己總結(jié)一下,但是遇到了這篇文章,感覺(jué)總結(jié)的已經(jīng)很到位,特此轉(zhuǎn)載。作者:L...
    WQ_UESTC閱讀 6,250評(píng)論 4 26
  • 一、概述 iOS 響應(yīng)者鏈(Responder Chain)是支撐 App 界面交互的重要基礎(chǔ),點(diǎn)擊、滑動(dòng)、旋轉(zhuǎn)、...
    小道蕭兮閱讀 3,150評(píng)論 2 12

友情鏈接更多精彩內(nèi)容