美文网首页
事件传递和响应者链条

事件传递和响应者链条

作者: 爱霉霉 | 来源:发表于2015-07-12 23:31 被阅读45次

用户一旦触摸屏幕, 会产生一个UITouch 对象,会交给UIApplication对象去处理这个对象,并开始寻找最适合的view。通过一个递归方法:

  • 1> 判断自己能不能接收事件
  • 2> 点在不在窗口上
  • 3> 去找比自己更合适的view,从后往前遍历子控件,拿到子控件后,把事件传递给这个子控件
  • 4> 子控件拿到事件之后,又会做同样的判断,一直递归去找,直到找到最合适的view.

由于主窗口也是一个UIView,因此首先会去找主窗口,查看主窗口能否产生交互(hidden == NO && alpha > 0.01 && userInteractionEnabled == YES)

找到最合适的view,把事件交给他,这就是事件传递的过程。

响应者链条的系统做法:

touch方法的默认做法:自己不处理,交给上一个响应者。

Snip20150711_2.png

相关文章

  • Response chain

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

  • 响应者链(Responder Chain)

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

  • 点击事件传递

    参考自:一篇搞定事件传递、响应者链条、hitTest和pointInside的使用 事件的传递,主要是理解UIVi...

  • 事件传递和响应者链条

    事件处理 iOS中的事件可以分为3大类型触摸事件(MultiTouch events)加速计事件(Motion e...

  • 事件传递和响应者链条

    用户一旦触摸屏幕, 会产生一个UITouch 对象,会交给UIApplication对象去处理这个对象,并开始寻找...

  • 01进阶之路-UI视图

    1. 事件传递机制和响应者链条 学习链接 事件传递机制iOS中的事件可以分为3大类型 1 触摸事件 2 加速计...

  • 事件处理(三)

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

  • 事件传递、响应者链条

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

  • [需求记录]_使用hitTest实现穿透点击事件

    参考链接:一篇搞定事件传递、响应者链条、hitTest和pointInside的使用 效果演示: 代码如下:

  • iOS 事件传递和响应者链条

    事件的传递 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中。 UIAppli...

网友评论

      本文标题:事件传递和响应者链条

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