如何让点击和触摸WebView的某些区域“通过”

时间:2018-11-05 10:22:43

标签: javascript html reactjs react-native webview

是否可以让all pointer events中特定透明区域上的WebView(触摸,点击,...)传递到底层的本机响应组件?

我的应用程序(种类)如下所示: enter image description here

WebView的位置绝对正确,涵盖了完整的react native UI,主要由“全屏” WebGL图形上下文组成。

到目前为止我所做的:

  • pointer-events: none内容的白色区域(包括body)内的所有元素设置CSS WebView
  • pointer-events: all内容中的所有紫色HTML元素设置WebView,以使其保持功能
  • 设置WebViews属性pointerEvents="none"

这是React Native应用中的样子:

<!-- ... -->
<View
  style={{
    position: 'absolute',
    top: 0,
    left: 0,
    width: '100%',
    height: '100%',
    backgroundColor: 'transparent',
  }}
>
  <WebView
    source={{ uri: 'www.example.com' }}
    style={{ backgroundColor: 'transparent' }}
    pointerEvents="none"
  />
</View>
<!-- ... -->

如果我还为周围的pointerEvents="none"设置属性View,则点击将通过,但紫色部分也会通过,因此WebView在以下位置将不再起作用全部。

我见过Create a hole in react-native webview for touch events,但我认为提到的解决方案实际上并不可行,因为它依赖于将事件数据从WebView手动分发到基础应用程序。

我的基本WebGL图形显示了一个3d模型,该模型允许许多不同的交互方式,我认为我无法手动分派并正确处理所有需要的事件...

0 个答案:

没有答案