响应事件的产生于与传递

iOS中的事件

1.触摸事件

2.加速事件 如:摇晃手机

3. 远程控制事件

响应者对象

在IOS中不是任何对象都能处理事件,只有继承了UIResponer的对象才能响应事件,我们称之为“响应者对象”

UIApplication、UIviewController、UIview都继承与UIResponder,因此都是响应者对象,所以都能响应事件

如果发生触摸事件,系统会将事件加入到UIApplication的队列中

UIApplication会取出最先加入的事件,分发给主窗口处理,主窗口会从视图层次中找到最合适的视图处理触摸事件,

注意:如果父控件不能接收事件,那么子控件也不能接收事件

如何找到做最合适的视图处理触摸事件呢

1.首先判断自己能否接收触摸事件

2.判断触摸点是否在自己的视图上

3.从后遍历自己的子控件,一直重复,如果没有,那么自己就是最适合处理触摸事件的控件

常见的几种子控件不能响应事件的例子

父控件不能接收响应事件

父控件hidden属性设置为true

父控件的alpha属性值为0.01

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容