专栏首页正则事件响应链的原理
原创

事件响应链的原理

事件的分发和传递。

1.当iOS程序中发生触摸事件后,系统会将事件加入到UIApplication管理的一个任务队列中

2.UIApplication将处于任务队列最前端的事件向下分发。即UIWindow。

3.UIWindow将事件向下分发,即UIView。

4.UIView首先看自己是否能处理事件,触摸点是否在自己身上。如果能,那么继续寻找子视图。

5.遍历子控件,重复以上两步。

6.如果没有找到,那么自己就是事件处理者。如果

7.如果自己不能处理,那么不做任何处理。

其中 UIView不接受事件处理的情况主要有以下三种

1)alpha <0.01

2)   userInteractionEnabled = NO

3)hidden = YES

4)hitTest:withEvent: 返回nil

// 此方法返回的View是本次点击事件需要的最佳View

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event

// 判断一个点是否落在范围内 

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event

事件传递是从下到上的

事件响应是从上到下的

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • iOS事件响应控制 原

        以前遇到一个项目,一个UIImageView对象上面有一个UIButton对象,然而项目的需求需要在点击 button的同时,UIImageView也接...

    珲少
  • APT 攻击链及事件响应策略

    首先我们来思考一个问题,APT攻击事件和传统的网络攻击有什么明显区别呢?我相信,很多安全的小伙伴都会说,相比于传统的安全攻击事件来说,APT攻击事件更持久,更有...

    信安之路
  • iOS 事件传递与视图响应链

    当你点击了屏幕上的某个view,这个动作由硬件层传导到操作系统,UIKit 就会打包出一个 UIEvent 对象,然后会把这个Event分发给当前正在活跃的 A...

    赵哥窟
  • 事件应急响应管理的5条建议

    通常来说,应急响应泛指安全技术人员在遇到突发事件后所采取的措施和行为。而突发事件则是指影响一个系统正常工作的情况。这里的系统包括主机范畴内的问题,也包括网络范畴...

    FB客服
  • iOS-控件响应用户控制事件之事件处理

    用户1941540
  • 响应Android系统的事件

    在开发Android应用时,有时候可能需要让应用程序随系统设置而进行调整,比如判断系统的屏幕方向、判断系统方向的方向导航设备等。除此之外,有时候可能还需...

    分享达人秀
  • python 按钮的响应事件

    在PyCharm中创建一个项目,然后点击“Tools”--“External Tools”--“QTDesinger”打开QT Desinger

    py3study
  • 事件响应的优先级、stopProgapation禁止下层组件响应

    用户1258909
  • 对asp.net响应事件的试验

    1、可否把bind独立出来,在page_load中只是初次时bind,以后都在具体事件的处理中bind    实验:        page_load中,只作d...

    用户1075292
  • macOS AppKit 的事件响应简介

    一个NSResponder实例对象有三个组件:事件消息(鼠标,键盘,触控板等产生的),动作消息(action message: 比如NSButton 执行tar...

    代码行者
  • Vue响应式原理

    Vue是数据驱动视图实现双向绑定的一种前端框架,采用的是非入侵性的响应式系统,不需要采用新的语法(扩展语法或者新的数据结构)实现对象(model)和视图(vie...

    伯爵
  • Vue3响应式原理

    Proxy可以在目标对象上加一层拦截/代理,外界对目标对象的操作,都会经过这层拦截

    若川
  • Vue3响应式原理

    Proxy可以在目标对象上加一层拦截/代理,外界对目标对象的操作,都会经过这层拦截

    scarsu
  • vue 响应式原理

    简单点讲 vue 的响应式是通过 Object.defineProperty 和 观察者模式来实现的。 vue 初始化的时候 watcher 构造函数通过 O...

    大当家
  • Vue3 响应式原理

    如果不会 ts,我觉得影响不大,了解一下泛型就可以了。因为我就没用过 TS,但是不影响看代码。

    谭光志
  • 史上最详细的iOS之事件的传递和响应机制-原理篇

    按照时间顺序,事件的生命周期是这样的:   事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view、寻找最合适的view的底层实现、拦截事件的...

    VV木公子
  • Java进阶09 事件响应

    在GUI中,我们看到了如何用图形树来组织一个图形界面。然而,这样的图形界面是静态的。我们无法互动的对该界面进行操作。GUI的图形元素需要增加事件响应(event...

    Vamei
  • python 事件 响应 钩子 even

    py3study
  • 应急响应之CC攻击事件

    CC主要是用来攻击页面的。大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,访问的人越多,论坛的页面越多,数据库...

    C4rpeDime

扫码关注云+社区

领取腾讯云代金券