ios – 如何在支持3d touch(强制触摸)的设备上点击TouchableOpacity或TouchableHighlight

我有这个代码:

<View {...this.panGesture.panHandlers}>
    <Animated.View>

        <View style={{ position: 'absolute' }}>
            <TouchableHighlight onPress={ () => {console.log('hello')}>
            </TouchableHighlight>
        </View>

    </Animated.View>
</View>

当我启用3d touch时,我无法为我的爱让onPress为iPhone 6s及更高版本工作.

我尝试了大多数解决方案建议here,但没有运气.

我会感激任何帮助!

最佳答案 我已经能够通过确保父PanResponder在移动时没有抓住响应者来解决这个特定问题,直到触摸实际上从原点移动:

PanResponder.create({

  //... other responder callbacks

  onMoveShouldSetPanResponder(e, gestureState) {
    if (gestureState.dx === 0 || gestureState.dy === 0) {
      return false;
    }
    return true;
  }
});

这是在React Native 0.10天左右回来的,之后没有尝试过.希望能帮助到你!

点赞