你如何检测是不是在 react-native 中点击了屏幕的右半部分?

Posted

技术标签:

【中文标题】你如何检测是不是在 react-native 中点击了屏幕的右半部分?【英文标题】:How do you detect if the right half of the screen has been tapped in react-native?你如何检测是否在 react-native 中点击了屏幕的右半部分? 【发布时间】:2015-07-25 13:47:25 【问题描述】:

原本我打算创建一个大小为屏幕一半大小的视图组件,并将其包裹在TouchableHighlight 中,但这看起来很乱。

【问题讨论】:

【参考方案1】:

看看 Gesture Responder 系统,它可以让你设置一个视图来对触摸做出反应:

http://facebook.github.io/react-native/docs/gesture-responder-system.html#content

具体来说,如果您向视图传递 onStartShouldSetResponder 属性,它是一个返回 true 的函数。然后,您还可以将 onResponderGrant 函数作为 prop 传递,该函数将接收包含您需要的详细信息的事件对象。

【讨论】:

【参考方案2】:

修复它。

我为元素添加了一个包装器<View ...this.panResponder.panHandlers>,并填充了onPanResponderGrant函数:

    onPanResponderGrant: ( nativeEvent:  touches  ,  x0, y0, moveX ) =>

    // if on right side of screen
    if (x0 > (Dimensions.get('window').width / 2))
      _this.nextPhoto();
     
  

【讨论】:

以上是关于你如何检测是不是在 react-native 中点击了屏幕的右半部分?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React-Native 中创建检测自动位置的地图

57目标检测之Anchor Boxes

怎么获取threejs中vertices中点的x

如何使用 React-Native 在 iOS 中禁用屏幕截图

在 React Native 中检测向左滑动

如何在 javascript 中点击发布请求,这会点击服务器端 swift 服务器?