zoukankan      html  css  js  c++  java
  • 响应者链

    响应者: UIResponder类是响应者类,所有继承UIResponder 的类,都是响应者。iOS中,所有能响应事件的对象,都是响应者。

    响应者链:就是多个响应者组成的链。

    检测触碰视图:

    当接手一个事件时,

    过程如下:

    查询UIApplication是否有响应者,若有,往window找有没有子响应者/找window/找window上的view(viewcontroller)/找view的子视图。最终确认触摸的位置,完成查询。

    响应触碰事件

    与检测正好相反,优先考虑在子视图中响应事件。也就是说,如果子视图不处理事件,就会往查询的反方向传递事件,让后者处理。一直到最底的UIApplication,如果都没有响应这个事件,就会把事件抛弃。

    响应过程如下:

    触摸的view/Rootview/controller/window/delegate/UIApplication。

    阻断响应者链

    响应者链可以被打断,阻断自己的子视图不再检索。

    userInteractionEnabled = NO;

    默认为YES,当设置为YES时,事件可以正常传递给子视图。如果设置为NO时,就是告诉系统,我不再在响应者链中,此时,系统就会将其移出响应者链,则会导致其子视图的所有响应中断。不再对子视图进行检索。

  • 相关阅读:
    Android View 的绘制流程
    Android Studio 注释模板
    Flutter https://flutter.cn/docs学习之 工作原理
    Android 手机兼容差异
    Flutter plugin的两种方式
    本周总结
    mapreduce程序开发简单实例 WordCount
    《需求工程——软件建模与分析》阅读笔记之一
    本周总结
    本周总结
  • 原文地址:https://www.cnblogs.com/Coder-GT/p/4869869.html
Copyright © 2011-2022 走看看