IOS 事件响应链

每个View中含有这两个方法

- (nullable UIView *)hitTest:(CGPoint)point withEvent:(nullable UIEvent *)event;  // recursively calls -pointInside:withEvent:. point is in the receiver's coordinate system

- (BOOL)pointInside:(CGPoint)point withEvent:(nullable UIEvent *)event;  // default returns YES if point is in bounds

一个是根据点击坐标返回事件是否发生在本视图以内,另一个方法是返回响应点击事件的对象

UIApplication对象维护自己的一个响应者链,从nextResponder中返回View  根据View中pointInside返回yes的时候,响应者入栈。栈顶的响应者作为最优先处理事件对象

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

推荐阅读更多精彩内容

  • 本文来自:http://ios.jobbole.com/84081/ 前言: 按照时间顺序,事件的生命周期是这样的...
    HackerOnce阅读 2,858评论 1 10
  • 前言 当用户点击付款跳转到付款界面、点击扫一扫进入扫描二维码视图。当我们点击屏幕的时候,这个点击事件由硬件层传向i...
    风与鸾阅读 1,291评论 0 0
  • App通过响应者对象来接收和处理事件,响应者对象都是UIResponder的子类对象,常见的UIView,UIVi...
    FlyElephant阅读 1,255评论 0 5
  • 事件传递: 1.首先 UIApplication 获取事件存放到事件队列中,因为事件队列是先进先出,不能放到栈内(...
    三三哥阅读 221评论 0 0
  • 当我们在使用微信等工具,点击扫一扫,就能打开二维码扫描视图。在我们点击屏幕的时候,iphone OS获取到了用户进...
    lbfly_boy阅读 673评论 0 0