iOS 响应链

2019-03-11  本文已影响0人  Cass__

概述

响应链是支撑app界面交互的基础,点击,滑动,旋转,摇晃背后都离不开响应链。
触发一次事件时,系统会将事件Event放到事件队列中,由UIApplication从队列中取得这个Event。

响应者

处理者

UIResponder主要有4个方法来处理事件:

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event;
- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event;
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event;
- (void)touchesCancelled:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event;

如果Responder没有处理事件,事件会被传递。下个传递给该对象的nextResponder。如果都没有处理事件,事件被丢弃。

响应者链一直传递到AppDelegate:


image.png
上一篇 下一篇

猜你喜欢

热点阅读