iOS面试复习-事件的产生和传递

事件的产生和传递

1.发生触摸事件后,runloop中触发source1事件 生成一个UIEvent 事件 系统会将该事件加入一个由UIApplication管理的事件队列中(先进先出)

2.UIApplication 会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常事件先发送给keywindow 

3.keywindow 会在视图层次结构中,找到一个最合适的视图来处理触摸事件,这也是整个事件处理过程的第一步

事件传递示例

UIView不接收触摸事件的三种情况

UIView不接收触摸事件的三种状况

如何找到最合适的view响应事件

1.hitTest 2.pointInside 系统主要依赖这两个方法

1.判断是否接收触摸事件

2.判断点是否在当前控件 调用pointInside 方法

3. 从后往前 遍历自己的自控件

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容