美文网首页
iOS 事件传递&响应者链

iOS 事件传递&响应者链

作者: iOS_July | 来源:发表于2019-03-31 14:37 被阅读0次

    iOS中的响应者链(Responder Chain)是用于确定响应者的一种机制。
    其中的事件主要指触摸事件(Touch Event),该机制和UIKit中的UIResponder类紧密相关。
    响应触摸事件的都是屏幕上的界面元素,而且必须是继承自UIResponder类的界面类(包括各种常见的视图类及其视图控制器类,如UIView和UIViewController)才可以响应触摸事件。

    一个事件响应者的完成主要经过两个过程:
    hitTest方法命中视图和响应者链确定响应者。
    hitTest方法首先从顶部UIApplication往下调用(从父类到子类),直到找到命中者,然后从命中者视图沿着响应者链往上传递寻找真正的响应者。

    • 一个button的点击事件,到底发生了什么:


      图一
    • 由上图分析可得:点击这个点击事件触发的时候,会被加入到运行循环里,然后从UIApplication开始,一级一级的往下找,最终确认是 什么东西 触发的,这是事件的传递响应者链则是逆着这个顺序走。

    • 这里的响应者链 ----- button-->view。

    • button就是第一响应者。

    相关文章

      网友评论

          本文标题:iOS 事件传递&响应者链

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