Skip to content

介绍下构建响应链的流程,及事件响应流程 #157

@tbfungeek

Description

@tbfungeek

响应链构建过程 Hit-Testing

000002

事件响应流程

Touch 事件处理的传递过程与 Hit-Testing 过程正好相反。Hit-Tesing 过程是从父视图到子视图遍历;Touch 事件处理传递是从子视图到父视图传递。 首先Touch事件会被发送到first responder,first responder便拥有了对事件的绝对控制权:它可以选择独吞这个事件,也可以将这个事件往下传递给其他响应者.

整个过程如下所示:

* 如果当前view是控制器的RootView,那么控制器就是nextResponder,事件就传递给控制器.
* 如果当前view不是控制器的RootView,那么父视图就是当前view的nextResponder,事件就传递给它的父视图.
* 在视图层次结构的最顶级视图,如果也不能处理收到的事件或消息,则其将事件或消息传递给window对象进行处理.
* 如果window对象也不处理,则其将事件或消息传递给UIApplication对象.
* 如果UIApplication也不能处理该事件或消息,则将其丢弃

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions