成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iOS中觸摸事件的傳遞和響應機制

移動開發 iOS
所有繼承響應者對象UIResponder都能接收并處理事件。按照時間順序,先找到到最合適的view,然后就會調用view的touches方法,這些方法的默認做法是將事件順著響應這鏈條向上傳遞,將事件交由上一個響應者進行處理,直到有一個view能處理該響應為止或者丟棄。這是一個從上到下,再從下到上的過程。

所有繼承響應者對象UIResponder都能接收并處理事件。按照時間順序,先找到到最合適的view,然后就會調用view的touches方法,這些方法的默認做法是將事件順著響應這鏈條向上傳遞,將事件交由上一個響應者進行處理,直到有一個view能處理該響應為止或者丟棄。這是一個從上到下,再從下到上的過程。

1. 事件的產生

  • 發生事件后,系統會將該事件加入到一個由UIApplication管理的事件隊列中。
  • UIApplication會從事件隊列中取出最前面的事件,并將該事件分發下去處理。通常,先發送事件給應用程序的主窗口(keywindow)。
  • keywindow會在視圖層次結構中找到一個最合適的視圖來處理事件。

2. 事件的傳遞

事件的傳遞先從父控件傳遞到子控件(UIApplication->window->尋找處理事件最合適的view)。

如果父view不能接受觸摸事件,那么子view也不能接收到觸摸事件。

2.1 如何找到最合適的view來處理事件

判斷keywindow自己是否接受事件

判斷事件是否在自己身上

子view數組中從后往前遍歷子控件,重復前面1,2步驟

如果沒有合適的子控件,那自己就是最合適的控件

2.2 尋找最合適的view底層剖析

有兩個重要的方法:

  1. hitTest:withEvent: 
  2. pointInside:withEvent: 

view會調用hitTest:withEvent:方法,hitTest:withEvent:方法底層會調用pointInside:withEvent:方法判斷觸摸點是不是在這個view的坐標系上。如果在坐標系上,會分發事件給這個view的子view。然后每個字view重復以上步驟,直至***層的一個合適的view。

3.事件的響應

事件響應會先從底層最合適的view開始,然后隨著上一步找到的鏈一層一層響應touch事件。默認touch事件會傳遞給上一層。如果到了viewcontroller的view,就會傳遞給viewcontroller。如果viewcontroller不能處理,就會傳遞給UIWindow。如果UIWindow無法處理,就會傳遞給UIApplication。如果UIApplication無法處理,就會傳遞給UIApplicationDelegate。如果UIApplicationDelegate不能處理,則會丟棄該事件。

責任編輯:武曉燕 來源: CocoaChina
相關推薦

2023-10-12 22:44:16

iOS事件響應鏈

2013-04-15 15:22:06

2014-03-04 15:28:32

iOS開發消息傳遞機制

2013-04-24 11:15:56

Android開發Touch事件傳遞機制

2010-03-22 16:49:02

SIM系統IAM系統響應機制

2011-08-03 17:32:17

IOS UIScrollVi touch

2010-08-06 09:56:06

Flex事件機制

2010-08-06 10:03:42

Flex事件

2015-04-14 09:55:40

2013-04-22 15:40:00

Android開發觸摸事件與點擊事件區別

2015-07-08 16:46:05

iOS鍵盤

2025-02-19 13:00:00

移動端觸摸事件響應速度JavaScrip

2013-05-14 11:08:23

AIR Android觸摸事件鼠標事件

2016-12-08 22:59:47

觸摸事件android

2010-08-13 14:05:24

Flex事件機制

2023-11-02 08:10:13

框架Spring程序事件

2020-02-26 09:00:00

Chatbot架構模型聊天機器人

2010-08-09 09:47:34

Flex事件機制

2022-11-03 15:36:44

事件響應反模式系統

2017-01-11 18:44:43

React Nativ觸摸事件Android
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一级α片 | 日韩中文字幕一区 | 日韩欧美手机在线 | 国产一区二区久久 | 国产精品91视频 | jlzzjlzz国产精品久久 | 国产乱性 | 久久久这里都是精品 | 麻豆91av | 国产黄色一级片 | 国产一级毛片精品完整视频版 | 精品乱人伦一区二区三区 | 中文字幕亚洲视频 | 久久久亚洲一区 | 久久久久久国模大尺度人体 | 日韩视频一区在线观看 | 中文字幕在线免费观看 | 日韩中文在线视频 | 亚洲一区二区免费视频 | 婷婷午夜天| 黄色在线| 99色在线视频 | 久久精品免费观看 | 人人艹人人爽 | 日韩精品一区二区三区免费观看 | 欧美一区二区三区精品免费 | 国产专区免费 | 日韩a视频| 在线观看国产精品视频 | 毛片久久久 | av 一区二区三区 | 国产精品国产精品国产专区不卡 | 国产综合区 | 国产精品欧美一区二区 | 免费激情av| 久久久久久国产精品免费免费 | 中文字幕一区二区三区精彩视频 | 一区不卡在线观看 | 高清久久久 | ririsao久久精品一区 | 精品视频999 |