PanResponder生命周期相关


PanResponder即react-native的手势操作系统,这里记录一下生命周期相关事件

单点事件

onStartShouldSetResponderCapture: 如果父视图想要阻止子视图响应 touch start 事件,它就应该设置这个方法并返回 true

onStartShouldSetResponder: 在用户开始触摸的时候(手指刚刚接触屏幕的瞬间),返回是否愿意成为响应者

onPanResponderGrant: 这个视图开始响应触摸事件。此时需要高亮告诉用户正在响应。

onPanResponderStart: 触摸事件正式被监视

onPanResponderEnd: 触摸事件结束

onPanResponderRelease: 在整个触摸事件结束时调用这个函数。

移动事件

onMoveShouldSetResponderCapture: 如果父视图想要阻止子视图响应 touch move 事件时,它就应该设置这个方法并返回 true

onMoveShouldSetPanResponder: 这个视图想要认领这个 touch move 事件吗?每当有 touch move 事件在这个视图中发生,并且这个视图没有被设置为这个 touch move 的响应时,这个函数就会被调用。

onPanResponderGrant: 监视器发出通知开始工作

onPanResponderMove: 当用户正在屏幕上移动手指时调用这个函数。

异常事件

onPanResponderReject: 有一个响应器正处于活跃状态,并且不会向另一个要求响应这个事件的视图释放这个事件。

onPanResponderTerminationRequest: 其他某个视图想要成为事件的响应者,并要求这个视图放弃对事件的响应时,就会调用这个函数。如果允许释放响应,就返回 true

onPanResponderTermination: 响应被从这个视图上劫走了。可能是在调用了 onResponderTerminationRequest 之后,被另一个视图劫走了(见 onresponderterminationrequest), 也可能是由于 OS 无条件终止了响应(比如说被 iOS 上的控制中心/消息中心)