通过覆盖传递触摸事件

Jan*_*iak 5 javascript touch-event react-native react-native-navigation react-native-navigation-v2

设置

我有 2 个屏幕,我们称它们为 A 和 B。

屏幕 A 显示由手机后置摄像头(我无法进一步访问的第三方库)记录的摄像头图像。屏幕 B 具有半透明背景和一些 UI 元素(例如按钮)

在此处输入图片说明

任务

我无法直接(第三方)将 UI 元素添加到屏幕 A,这就是为什么我使用react-native-navigation V2通过屏幕 A 顶部的Navigation.showOverlay覆盖屏幕 B。

问题

两个屏幕都需要对触摸事件做出反应,但似乎屏幕 B 的覆盖在屏幕 A 上阻止了这些事件。

在此处输入图片说明

题

是否有可能将所有触摸事件从屏幕 B(带有覆盖的 UI)传递到屏幕 A(相机屏幕,它也需要对触摸事件做出反应),以便两个屏幕都能够对用户输入做出反应?


如果有人对我正在谈论的第三方组件感兴趣:https : //github.com/brave-digital/react-native-wikitude/issues/10

小智 5

不使用react-native-navigation showOverlay,而是使用可以使用

<View style={{flex: 1}}>
  <ScreenA />
  <View style={{position: "absolute", height: screenHeight, width: screenWidth}} pointerEvents={'box-none'}>
    <ScreenB />
  </View>
</View>
Run Code Online (Sandbox Code Playgroud)


小智 -4

尝试 proppointerEvents='box-none' 或参考此问题