本文主要是介绍事件的产生与传递 及 响应者链条,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。
事件的产生与传递
正如我上图所总结的:
1.左边部分:我总结了事件传递的流程
2.中间部分:举例说明了实际情况
3.右边部分:一个View不能接受事件的情况
响应者链条
左边的情况,接收事件的initial view如果不能处理该事件并且她不是顶层的View,则事件会往它的父View进行传递。initial view的父View获取事件后如果仍不能处理,则继续往上传递,循环这个过程。如果顶层的View还是不能处理这个事件的话,则会将事件传递给它们的ViewController,如果ViewController也不能处理,则传递给Window(UIWindow),此时Window不能处理的话就将事件传递给Application(UIApplication),最后如果连Application也不能处理,则废弃该事件。
右边图的流程唯一不同就在于,如果当前的ViewController是由层级关系的,那么当子ViewController不能处理事件时,它会将事件继续往上传递,直到传递到其Root ViewController,后面的流程就跟之前分析的一样了。
这篇关于事件的产生与传递 及 响应者链条的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!