Skip to content

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

Open
@tbfungeek

Description

响应链构建过程 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也不能处理该事件或消息,则将其丢弃

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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