事件的产生,传递以及响应链
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事件的产生,传递以及响应链相关的知识,希望对你有一定的参考价值。
每个事件对应一个UITouch,继承UIResponse的类(UIView,UIViewController)都能响应事件,实现Touch的代理即可对事件做出处理
每个事件产生后都会保存在UIApplication的事件队列中,事件的传递是取第一个事件从父控件传递到子控件。
关于找到最合适的控件处理事件,分几个步骤:
1.先判定自身能否接受事件(userInteractionEnabled为YES,hidden为NO,alpha大于0.01)
2.事件的点在自身范围内
3.从后往前遍历子控件,取最上面的子视图。重复1.2。
事件的响应链:
如果自身没有响应事件的方法,传给父视图,父视图没有实现,传给父控制器,再到window,再到UIApplication对象,最后丢弃
以上是关于事件的产生,传递以及响应链的主要内容,如果未能解决你的问题,请参考以下文章