美文网首页
IOS 中 通过 事件交换的方式 来捕获 按钮事件

IOS 中 通过 事件交换的方式 来捕获 按钮事件

作者: JoeWcc | 来源:发表于2016-08-08 12:26 被阅读231次

          一个oc类的+load方法是在app开始运行时首先会被调用执行的方法,也就是说,当app被点击,再被系统加载app程序进入内存后,首先会实例化所有类到代码或全局区(这里不做深究),而加载所有类的设置时,就会调用类的load方法,如果要给一个类做方法交换,则一般情况放在load方法中来操作。方法交换一旦完成,则程序运行中全局生效。

            一个类B可能有继承来的super类A,还有可能有自己的分类C,如果分类中也实现了load方法,它们的调用顺序是怎么样的呢?系统首先会调用super的load方法,然后再调用类B自身的load方法,再次才会调用类B的分类C的load方法,也即是说真个继承链包括分类扩展中的load方法都会被执行到,只是执行顺序需要关注一下。load方法不同于其他覆盖方法在分类中的体现,如果类B本身中的其他方法在分类C中被重写,则会优先执行分类C中的。但是load不同,都会被执行到,因为这是类加载设置的方法

好了,不罗嗦,开始撸代码~

先创建 UIControl分类  因为 我是对继承UIControl 的 类 进行事件捕获

如:

originalSelector  是系统 事件 

swizzledSelector 是 我们自定义 需要替换  originalSelector 的事件

这个 是 封装 事件 交换的方法 等下代码 会贴出 

方法交换

相关文章

  • IOS 中 通过 事件交换的方式 来捕获 按钮事件

    一个oc类的+load方法是在app开始运行时首先会被调用执行的方法,也就是说,当app被点击,再被系统...

  • 事件处理机制

    JavaScript中事件处理事件处理分为三个阶段:捕获 - 处理 - 起泡。 以点击按钮为例:捕获阶段:由外层到...

  • 冒泡和捕获

    ​在浏览器中,事件的传播方式分为:事件冒泡和事件捕获。那么事件冒泡和事件捕获分别是什么?为什么会出现两种传播方式呢...

  • dom&事件流复习回顾

    1.事件流, 三个阶段 捕获,事件目标,冒泡 2.事件三个的绑定方式 a.标签属性绑定,按钮b.on+type 绑...

  • JavaScript 事件捕获和冒泡

    JavaScript 事件捕获和冒泡 规范 在最新的 DOM 规范中,事件的捕获与冒泡是通过 addEventLi...

  • 22.DOM事件类

    一、事件级别 二、事件模型 捕获、冒泡 三、事件流 事件通过捕获到达目标元素,之后事件通过冒泡再上传到window...

  • RAC常用方法汇总

    一、iOS内部对不同事件的处理 iOS中对不同事件作出响应时,会用不同的方式来处理这些业务逻辑。比如按钮的点击使用...

  • RAC之常用方法汇总

    一、iOS内部对不同事件的处理 iOS中对不同事件作出响应时,会用不同的方式来处理这些业务逻辑。比如按钮的点击使用...

  • JavaScript中的捕获事件和冒泡事件

    DOM中,如果对象触发事件流,将有两种方式决定对象执行事件的顺序:捕获事件方式和冒泡事件方式。 下面这张图演示一个...

  • JavaScript 事件冒泡、事件捕获和事件委托

    JavaScript 事件冒泡、事件捕获和事件委托 以下在chrome、firefox执行通过。 事件流、事件冒泡...

网友评论

      本文标题:IOS 中 通过 事件交换的方式 来捕获 按钮事件

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