首页 > 解决方案 > 如何重置到默认位置 PanResponder React Native

问题描述

我正在尝试添加一个功能,让您将我的可拖动多边形重置为默认位置,但现在每次我将其重置为默认位置时,我都无法在之后拖动它(它在此之前有效)。

这是我创建泛响应器的方法

createPanResponser(corner, position) {
    return PanResponder.create({
        onStartShouldSetPanResponder: () => true,
        onPanResponderMove: Animated.event([
            null,
            {
                dx: corner.x,
                dy: corner.y,
            },
        ]),
        onPanResponderRelease: () => {
            console.log(corner.flattenOffset,'corner');
            corner.flattenOffset();
            this.updateOverlayString();
        },
        onPanResponderGrant: () => {
            corner.setOffset({ x: corner.x._value, y: corner.y._value });
            corner.setValue({ x: 0, y: 0 });
        },
    });
}

这是我尝试重置为默认位置的方式

 fullscreen() {
    this.setState({
       overlayPositions:this.state.defaultOverlayPositions,
       topLeft: this.state.defaultTopLeft,
       topRight: this.state.defaultTopRight,
       bottomRight: this.state.defaultBottomRight,
       bottomLeft: this.state.defaultBottomLeft,
    })
  }

标签: react-native

解决方案


推荐阅读