ios 在React Native中,是否有方法识别手写笔(笔)与触摸(手指)事件?

qojgxg4l  于 2023-02-01  发布在  iOS
关注(0)|答案(1)|浏览(221)

我正在研究RN应用程序,它有一个屏幕,上面有一个“可绘制”区域的列表。所以这个屏幕应该是可滚动和可绘制的。
我想做的是找到一个解决方案,通过Apple Pencil区分来自手指(这些将用于滚动和禁止绘图)和手写笔(这些将用于绘图和禁止滚动)的触摸事件。
在手势响应器和PanResponder中,每次移动都会传递事件。每个events(与nativeEvent一起)都包含type属性。但是,在模拟器和设备中,该属性始终为null。
有没有办法识别手指和手写笔的移动事件?

csga3l58

csga3l581#

我们的一个项目也有类似的需求,我们所做的是使用Pressable组件,handlePress函数作为prop传递给该组件。该函数接受GestureResponderEvent作为事件回调参数。通过使用event.nativeEvent.altitudeAngle属性added recently,我们能够检测Apple Pencil触摸。

function handlePress(event: GestureResponderEvent) {
    //@ts-expect-error React Native Types do not include altitudeAngle
    const isPencilTouch = !!event.nativeEvent.altitudeAngle;
    ...
}

相关问题