02-事件的产生与传递

02-事件的产生与传递

事件是怎么样产生与传递的?

当发生一个触摸事件后,系统会将该事件加载到一个由UIApplication管理的事件队列中.
UIApplication会从事件队列中取出最前面的事件,交给主窗口. 
主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件 
触摸事件的传递是从父控件传递到子控件的.
如果一个父控件不能接收事件,那么它里面的子控件也不能够接收事件.

一个控件什么情况下不能够接收事件?

1.不接收用户交互时不能够处理事件
  userInteractionEnabled = NO;
2.当一个控件隐藏的时候不能够接收事件 
  Hidden = YES;
3.当一个控件为透明的时候也不能够接收事件
alpha < 0.01;
注意:UIImageView的userInteractionEnabled默认就是NO, 因此UIImageView以及它的子控件默认是不能接收触摸事件的.

原文地址:https://www.cnblogs.com/zhoudaquan/p/5037406.html