iOS中的事件
1.触摸事件
2.加速事件 如:摇晃手机
3. 远程控制事件
响应者对象
在IOS中不是任何对象都能处理事件,只有继承了UIResponer的对象才能响应事件,我们称之为“响应者对象”
UIApplication、UIviewController、UIview都继承与UIResponder,因此都是响应者对象,所以都能响应事件
如果发生触摸事件,系统会将事件加入到UIApplication的队列中
UIApplication会取出最先加入的事件,分发给主窗口处理,主窗口会从视图层次中找到最合适的视图处理触摸事件,
注意:如果父控件不能接收事件,那么子控件也不能接收事件
如何找到做最合适的视图处理触摸事件呢
1.首先判断自己能否接收触摸事件
2.判断触摸点是否在自己的视图上
3.从后遍历自己的子控件,一直重复,如果没有,那么自己就是最适合处理触摸事件的控件
常见的几种子控件不能响应事件的例子
父控件不能接收响应事件
父控件hidden属性设置为true
父控件的alpha属性值为0.01