反应本地手势接触点捕获问题

时间:2020-10-22 06:06:50

标签: react-native mobile gesture

我想获得手势的接触点。当我在同一页面上执行此操作(触摸某个位置的屏幕并将我的手指移到另一个位置)时,以下功能可以完美运行。 (我可以获得开始的接触点和结束的接触点) log output for touch on the same screen

  panResponder = PanResponder.create({
    onStartShouldSetResponder: () => true,
    onMoveShouldSetPanResponder: () => true,
    onPanResponderGrant: (evt, gestureState) => {
      console.log(evt.nativeEvent, '........', gestureState);
    },
    onPanResponderRelease: (evt, gestureState) => {
      console.log(evt.nativeEvent, '........................', gestureState);
    },
  });

render() {
    return (
      <View style={{flex: 1, alignItems: 'center', justifyContent: 'center'}}>
        <Swiper loop={false} showsPagination={false} index={1}>
          <View style={styles.textInput}>
            <Button
              title="Type"
              onPress={() => this.props.navigation.navigate('Keystroke')}
            />
          </View>
          <Swiper
            {...this.panResponder.panHandlers}
            horizontal={false}
            loop={false}
            showsPagination={false}
            index={1}>
            <View style={styles.textInput}>
              <Text>Swipe left to select typing</Text>
              <Text>Swipe right to select gestures</Text>
            </View>
          </Swiper>

        </Swiper>
      </View>
    );
  }

但是,我在滑动屏幕时需要获取开始(onPanResponderGrant)和结束(onPanResponderRelease)坐标。

我正在使用

Import Swiper from 'react-native-swiper';

在这里,捕获了起始接触点。但是无法捕获最终的接触点。 log output when swiping the screen

有人可以帮我解决这个问题吗? 谢谢

2 个答案:

答案 0 :(得分:1)

我通过使用onPanResponderEnd而不是onPanResponderRelease使它正常工作。

onPanResponderEnd: (evt, gestureState) => {}

答案 1 :(得分:1)

使用onPanResponderEnd代替onPanResponderRelease