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

iOS的touchEvent的消費過程

移動開發 iOS
本文重點介紹了touch events用戶觸摸屏幕時觸發事件的消費過程。內容比較少,但實踐起來需要多多練習房能找到要領。

在iOS系統中,一共有三種類型的Event, 分別是touch events, motion events和remote-control events。touch events是用戶觸摸屏幕時觸發的事件,motion events是用戶移動設備時觸發的事件,remote-control events是用戶通過配件觸發的事件(如耳機等線控或鎖頻時線控等)。我們用的最多,交互最多的當然就是touch events了。

閱讀開發文檔Event Handling Guide for iOS這一章,知道產生touches時,系統會將一系列的touches打包到UIEvent里,該UIEvent存儲在當前應用event queue里,然后dispatch queue里面的事件給當前的key window, window通過hitTest: withEvent方法找到能夠接受該event的view。在最頂層次的View里調用hitTest: withEvent,然后該方法再調用自身的pointInside: withEvent方法來判斷需不需要處理,如果pointInside: withEvent返回YES,則hitTest: withEvent遍歷所有subview,返回能夠消費這個event的view,否則的話自身處理。如果pointInside: withEvent返回NO,則沿著responder chain向super view或者view controller傳遞event。如果view能夠消費touch event,則系統會向該responder 發送touchesBegan: touchesMoved: touchesCancelled: touchesEnded:等消息,然后來處理產生的touch events。touch的生命周期是跟它的hitTestView綁定的,就是從hitTestView接受該touch開始直到該touch消失都跟該hitTestView綁定。

所以我們需要自行處理touch event時,需要實現touchesBegan: touchesMoved: touchesCancelled: touchesEnded:等方法,如果不需要自行處理,或者是同時保留系統處理,則我們只需調用如上方法的系統實現即super里面的方法即可。我們需 要攔截touch event時,在pointInside: withEvent里面返回YES,但不做處理可達到攔截的效果。需要注意的是,我們永遠都不應該retain UIEvent,UIEvent是存儲在event queue里面的,會循環利用,如果非得暫存某些狀態,請將UIEvent的proterties拷貝然后使用NSDictionary等存儲。

責任編輯:閆佳明 來源: cnblogs
相關推薦

2017-04-11 08:36:09

iOS編譯應用

2022-06-01 06:17:42

微服務Kafka

2013-05-14 11:01:34

AIR AndroidTouchEvent類

2013-05-14 11:04:58

AIR AndroidTouchEvent類

2012-10-30 09:31:18

2010-07-15 12:38:14

SQL Server存

2016-08-03 15:47:20

AndroidIOSApple

2011-03-22 10:10:21

Nagios配置

2010-07-27 16:14:50

2015-11-03 08:12:44

2022-05-09 11:15:05

RocketMQPULL 模式PUSH 模式

2022-08-09 08:18:19

RocketMQpush消費

2013-04-03 10:42:46

iOS開發調試運行代碼

2010-04-08 18:10:37

Oracle存儲過程

2023-11-07 07:21:04

2010-04-07 14:01:40

Oracle存儲過程

2018-10-18 10:05:43

HTTP網絡協議TCP

2017-05-16 11:20:51

SQL語句解析

2010-04-16 10:11:20

Oracle存儲過程

2010-08-26 16:43:53

設置DHCP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 最新免费黄色网址 | 亚洲免费在线 | 欧美乱人伦视频 | 一级黄色播放 | 美女日批免费视频 | 日本粉嫩一区二区三区视频 | 久久久久久久久久毛片 | 日韩视频在线免费观看 | 国产精品视频一区二区三区不卡 | 欧美国产日韩一区二区三区 | 国产精品一区二区三区在线播放 | 日韩一区二区在线播放 | 国产精品99久久免费观看 | 日韩欧美第一页 | 日本成人免费网站 | 久久久久久九九九九九九 | 久久久久9999亚洲精品 | 欧美国产激情二区三区 | 中文字幕第7页 | 国产视频综合 | 精品国产一区二区三区久久久蜜月 | 国产精品久久久久久久久婷婷 | 夜夜爽99久久国产综合精品女不卡 | 欧美一区二区在线观看 | 成人午夜免费网站 | 久久久久久久久久久久久9999 | 久久成人精品 | 亚洲欧美日韩在线 | 日本不卡一区二区三区在线观看 | 五月天天色 | yiren22综合网成人 | 色橹橹欧美在线观看视频高清 | 狠狠色香婷婷久久亚洲精品 | 国产一级免费在线观看 | 成人精品一区二区三区四区 | 97久久精品午夜一区二区 | 中文字幕在线三区 | 一区二区成人 | 五月婷六月丁香 | a视频在线 | 一级黄色片毛片 |