美文网首页iOS开发
iOS-事件传递、响应者链条、事件响应

iOS-事件传递、响应者链条、事件响应

作者: inyourface | 来源:发表于2019-10-12 11:34 被阅读0次

1.响应者链条

只有继承UIResponder的对象才能够接收并处理事件,UIResponder 是所有响应对象的基类。UIApplication、 UIViewController、 UIWindow 和继承自UIView的UIKit类都直接或间接的继承自UIResponder,所以它们的实例都是可以构成响应者对象。响应者链就是由一系列的响应者对象构成的一个层次结构

2.事件的传递

UIApplication->UIViewController->UIView->UIButton

如果父视图不能接收事件,那么就不会向下传递,子视图也不可能接收处理事件

3.事件的响应

事件传递找到视图UIview的时候首先看view能否处理这个事件,如果能处理则交由其处理并停止该事件的向上响应,如果不能则会将事件传递给其上级视图;如果上级视图无法处理则会继续往上传递;一直到 UIwindow,如果UIwindow不能处理此事件则继续交给UIApplication处理,如果最后UIApplication还是不能处理此事件则将其丢弃。

总结:事件的传递:自上向下

            事件的响应:自下向上

4.UIResponder提供了几个处理事件的方法:

//触摸事件

- (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;

//加速计事件

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event;

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event;

- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event;

//远程控制事件

- (void)remoteControlReceivedWithEvent:(UIEvent *)event;


相关文章

  • 响应者链(Responder Chain)

    响应者链条主要分为两部分:事件的传递链条和事件的响应链条。 1、事件的传递链条: 当屏幕发生触摸事件后,系统会将事...

  • Response chain

    事件传递、响应者链条、hitTest和pointInside的使用

  • iOS-事件传递、响应者链条、事件响应

    1.响应者链条 只有继承UIResponder的对象才能够接收并处理事件,UIResponder 是所有响应对象的...

  • iOS 响应链

    iOS开发 - 事件传递响应链iOS 响应者链,事件的传递事件传递之响应链Cocoa Touch事件处理流程--响...

  • iOS-事件传递,响应者链条

    原文地址:https://www.jianshu.com/p/0892b08367cf[https://www.j...

  • 事件处理(三)

    响应者链条简介(学了响应者链条,目的知道谁最终处理事件。) 用户点击屏幕后产生的一个触摸事件,经过一系列的传递过程...

  • 事件传递、响应者链条

    UITouch的解释及作用 一根手指对应一个UITouch对象 当用户用一根手指触摸屏幕时,会创建一个与手指相关联...

  • iOS事件传递以及响应综合分析

    响应者对象UIResponder 事件传递事件传递过程关于hitTest:withEvent:方法解析 事件响应者...

  • 事件的传递和响应

    事件的传递和响应的区别: 事件的传递是从上到下(父控件到子控件),事件的响应是从下到上(顺着响应者链条向上传递:子...

  •  iOS触摸事件及响应者链条

    事件及响应者 响应者: 响应者对象是指能够处理事件的对象,即继承UIResponder的对象响应者链条:由很多响应...

网友评论

    本文标题:iOS-事件传递、响应者链条、事件响应

    本文链接:https://www.haomeiwen.com/subject/ljqqmctx.html