事件是怎么样产生与传递的?
当发生一个触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中.
UIApplication会从事件队列中取出最前面的事件,交给主窗口.
主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件
触摸事件的传递是从父控件传递到子控件的.
如果一个父控件不能接收事件,那么它里面的了子控件也不能够接收事件.
一个控件什么情况下不能够接收事件?
-
1.不接收用户交互时不能够处理事件 userInteractionEnabled = NO
-
2.当一个控件隐藏的时候不能够接收事件Hidden = YES的时候
-
3.当一个控件为透明白时候也不能够接收事件
注意:UIImageView的userInteractionEnabled默认就是NO,因此UIImageView以及它的子控件默认是不能接收触摸事件的
网友评论