iOS开发之响应者链

1.触摸事件的处理过程:

当用户点击屏幕发生触摸事件后,会经过一系列的传递,找到最适合响应的那个视图控件来处理触摸事件。

找到该控件后,就会调用该控件的touches方法来做具体的事件处理

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;
这些事件的默认处理方法是将事件顺着响应者链条向上传递,将事件交给上一个响应者进行处理。

2.一次完整的触摸事件的响应过程:

UIApplication--->UIWindow--->递归找到最适合处理该事件的控件--->调用该控件的touches方法--->判断是否实现touches方法--->没有实现默认将事件传递给上一个响应者--->找到上一个响应者......--->UIApplication,如果UIApplication没有处理该事件,则将该事件丢弃。

3.如何找到上一个响应者:

如果该view是视图控制器的根视图,则他的上一个响应者是视图控制器;否则的话,他的上一个响应者是它的父视图。

4.重要概念:

(1)响应者链:由多个响应者链接在一起组成的链条称为响应者链。

(2)响应者:继承自UIResponder的对象称之为响应者对象(UIApplication、UIView、UIViewController)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值