React Native 按住,将手指拖动到另一个可触摸的地方并通过该视图捕获触摸

Can*_*ğlu 7 touch gesture ios react-native

在我的 React Native 应用程序中,我试图有一个用户可以长按的按钮,并且无需抬起手指,就能够与另一个视图进行交互。这大概是我想要的:

在此输入图像描述

在此输入图像描述

在此输入图像描述

在此输入图像描述

可以将其想象为 iOS 13/14 之前 3D 触摸/长按的工作原理(取决于系统和设备中的位置):用户 3D 触摸或长按按钮(例如应用程序图标),然后弹出一个上下文菜单。然后,用户无需抬起手指,即可将鼠标悬停在其中一个按钮上,然后松开手指,从而触发按钮点击。

我可以完全控制我的按钮、触摸和视图(甚至选项卡栏也是自定义的,与我上面制作的插图相反)。

我怎样才能实现这个目标?(我使用的是 React Native 0.63)

Kin*_*ien 2

可能有更好的解决方案,但在我的脑海中,我会使用手势响应系统

https://reactnative.dev/docs/gesture-responder-system

您可以拥有一个包含选项卡栏和按钮的单容器视图。然后监听onResponderMove事件来决定这些按钮何时应该出现。例如,当locationY超过某个值时,可能会发生这种情况。

您还可以使用该onResponderRelease事件(再次借助locationX locationY参数)来确定手指是否在按钮上方释放。