【发布时间】:2018-08-14 23:20:48
【问题描述】:
在 safari mobile 中,触摸可以分为 Apple Pencil 与其他(手指/鼠标)使用:
event.touches[0].touchType === 'stylus' //pencil
event.touches[0].touchType !== 'stylus' //other
但是,在 react native webview 中接收到的所有事件(对于 Apple Pencil 和使用手指)都在接收:
touchType === 'direct' //inside webview, both pencil and other
如何在 web 视图中检测 Apple Pencil 的触摸?
显然event.touches[0] > 0 是另一种可能性,但在 webview 中这两种类型也都设置为0。
(不确定这是 react native 的问题还是 webview 的内置限制)。
相关:
【问题讨论】:
-
您是否尝试过在 webview 之上分层透明视图,并在那里对其进行测试,然后在 webview 的同一位置执行命中测试?
-
@ɯɐɹʞ 谢谢,如果我无法直接解决它,这听起来像是一个很好的解决方法。
-
你找到方法了吗?
-
还没有。如果很快没有任何事情发生,我怀疑我需要深入研究 React Native 核心并尝试做出贡献! :-)
-
你能检查一下当你创建一个嵌入了 WebView 的原生应用程序时会发生什么吗?因为我检查了 ReactNative 代码,它并没有做任何事情来真正隐藏那个事件。所以你应该检查你是否确实在嵌入式 WebView 中获得了这些事件,而不管使用 React native
标签: ios react-native webview