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时,就是告诉系统,我不再在响应者链中,此时,系统就会将其移出响应者链,则会导致其子视图的所有响应中断。不再对子视图进行检索。

  • 相关阅读:
    Cygwin配置总结
    javap 指令集
    超好用的Vim配置
    超过 130 个你需要了解的 vim 命令
    21、面向对象
    20、MySQLdb
    深入java字符串原理及其效率分析
    数据库执行计划
    SQL中EXISTS的用法
    mybatis之foreach用法
  • 原文地址:https://www.cnblogs.com/Coder-GT/p/4869869.html
Copyright © 2011-2022 走看看