1.从react native导入 PanResponder 组件
2.在生命周期 componentWillMount 函数中创建手势响应
3.添加响应
View.props.onStartShouldSetResponder: (evt) => true: 在用户开始触摸的时候 (手指刚刚接触屏幕的瞬间),是否愿意成为响应者?
View.props.onMoveShouldSetResponder: (evt) => true:如果View不是响应者,那么在每一个触摸点开始移动(没有停下也没有离开屏幕)时再询问一次:是否愿意响应触摸交互呢?
4.写处理业务逻辑
View.props.onResponderMove: (evt) => {}:用户正在屏幕上移动手指时(没有停下也没有离开屏幕)。
View.props.onResponderRelease: (evt) => {}:触摸操作结束时触发,比如"touchUp"(手指抬起离开屏幕)。
5.添加到View
this._panResponders = PanResponder.create({
onStartShouldSetPanResponder: (evt, gestureState) => true,
onMoveShouldSetPanResponder: (evt, gestureState) => true,
onPanResponderMove: (evt,gs)=>{
if (gs.dy > 0 || gs.vy > 0){
//业务逻辑
this.setState({
Hint:true
})
}else if (gs.dy < 0 || gs.vy < 0){
//业务逻辑
this.setState({
Hint:false
})
}
}
})