事件处理 响应者

事件的产生与传递
  • 事件是如何产生与传递的?
    • 当发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中. UIApplication会从时间队列中取出最前面的时间,并将事件分发下去以便处理.主窗口会在视图层次结构中找到一个最合适的视图来处理触摸时间.
    • 触摸时间的传递是从父控件传递到子控件的,如果一个父控件不能接收事件,那么他里面的子控件也不能接收.
  • 当一个控件不能接收时间时一般有以下几种情况
    1.不接收用户交互userInteractionEnabled = NO
    2.当一个控件隐藏时Hidden = YES
    3.当一个控件为透明白时

    注意:UIImageView以及它的子控件默认是不能接收触摸事件的

事件的响应

用户点击屏幕产生的一个触摸事件,经过一系列的传递过程后,会找到一个最适合的视图来处理事件.找到最合适的视图控件后,就会调用控件的touches方法来作具体的时间处理.touches的默认做法是将事件顺着响应者链条向上传递,将事件交给上一个响应者处理

  • 什么是响应者链条?
    • 由多个响应者对象连接起来的链条
  • 什么是响应者对象?
    • 继承了UIResponder的对象



文/没阳光的午后(简书作者)
原文链接:http://www.jianshu.com/p/9179e5d780c8
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

转载于:https://www.cnblogs.com/yevgeni/articles/5759541.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值