iOS 響應(yīng)鏈

概述

響應(yīng)鏈是支撐app界面交互的基礎(chǔ),點擊船侧,滑動,旋轉(zhuǎn)厅各,搖晃背后都離不開響應(yīng)鏈镜撩。
觸發(fā)一次事件時,系統(tǒng)會將事件Event放到事件隊列中队塘,由UIApplication從隊列中取得這個Event袁梗。

響應(yīng)者

  • 尋找事件的響應(yīng)者是通過hitTestpointInside完成的
  • hitTest調(diào)用順序從UIWindow開始,對子視圖一次調(diào)用
  • 遍歷直到找到響應(yīng)視圖憔古,逐級返回最終到UIWindow返回此視圖

處理者

UIResponder主要有4個方法來處理事件:

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event;
- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event;
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event;
- (void)touchesCancelled:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event;

如果Responder沒有處理事件围段,事件會被傳遞。下個傳遞給該對象的nextResponder投放。如果都沒有處理事件,事件被丟棄适贸。

響應(yīng)者鏈一直傳遞到AppDelegate:


image.png
  • 找到響應(yīng)者視圖后事件會從此視圖開始沿著響應(yīng)者鏈nextResponder傳遞灸芳,直到找到處理事件的視圖,沒有則被丟棄拜姿。
  • 如果視圖有父視圖烙样,則nextResponder指向父視圖,如果是根視圖則指向控制器蕊肥。最終指向AppDelegate谒获。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蛤肌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子批狱,更是在濱河造成了極大的恐慌裸准,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赔硫,死亡現(xiàn)場離奇詭異炒俱,居然都是意外死亡,警方通過查閱死者的電腦和手機爪膊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門权悟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人推盛,你說我怎么就攤上這事峦阁。” “怎么了耘成?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵榔昔,是天一觀的道長。 經(jīng)常有香客問我凿跳,道長件豌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任控嗜,我火速辦了婚禮茧彤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘疆栏。我一直安慰自己曾掂,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布壁顶。 她就那樣靜靜地躺著珠洗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪若专。 梳的紋絲不亂的頭發(fā)上许蓖,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音调衰,去河邊找鬼膊爪。 笑死,一個胖子當(dāng)著我的面吹牛嚎莉,可吹牛的內(nèi)容都是我干的米酬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼趋箩,長吁一口氣:“原來是場噩夢啊……” “哼赃额!你這毒婦竟也來了加派?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤跳芳,失蹤者是張志新(化名)和其女友劉穎芍锦,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體筛严,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡醉旦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了桨啃。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片车胡。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖照瘾,靈堂內(nèi)的尸體忽然破棺而出匈棘,到底是詐尸還是另有隱情,我是刑警寧澤析命,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布主卫,位于F島的核電站,受9級特大地震影響鹃愤,放射性物質(zhì)發(fā)生泄漏簇搅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一软吐、第九天 我趴在偏房一處隱蔽的房頂上張望瘩将。 院中可真熱鬧,春花似錦凹耙、人聲如沸姿现。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽备典。三九已至,卻和暖如春意述,著一層夾襖步出監(jiān)牢的瞬間提佣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工荤崇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留镐依,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓天试,卻偏偏與公主長得像,于是被迫代替她去往敵國和親然低。 傳聞我的和親對象是個殘疾皇子喜每,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 前言 按照時間順序务唐,事件的生命周期是這樣的: 事件的產(chǎn)生和傳遞(事件如何從父控件傳遞到子控件并尋找到最合適的vie...
    歡博閱讀 588評論 0 3
  • 重點參考鏈接: View Programming Guide for iOS https://developer....
    Kevin_Junbaozi閱讀 4,432評論 0 15
  • 最近在寫一個圖片瀏覽的需求,一些地方我使用了響應(yīng)者來處理带兜,順便又去看看了官方文檔枫笛,這里記錄一下官方文檔,并給出一些...
    HelloAda閱讀 10,867評論 3 36
  • 當(dāng)我們在使用微信等工具刚照,點擊掃一掃刑巧,就能打開二維碼掃描視圖。在我們點擊屏幕的時候无畔,iphone OS獲取到了用戶進...
    VincentHK閱讀 514評論 0 2
  • 首先清楚兩個概念響應(yīng)者:對用戶交互動作事件進行響應(yīng)的對象啊楚。響應(yīng)者鏈:成為處理事件的響應(yīng)者的先后順序鏈。平時當(dāng)我們點...
    mengyingguo閱讀 387評論 0 1