有没有办法在 SwiftUI 中处理和/或区分 Apple Pencil 和直接触摸?

Kaz*_*awa 6 uitouch ios apple-pencil swiftui

我想知道是否有办法在 SwiftUI 中处理 Apple Pencil 事件?例如,如果您喜欢处理直接触摸,而 Apple Pencil 则不同,请说直接触摸来滚动,而说 Apple Pencil 来画线。

有一个类似的问题。

如何使用 SwiftUI 处理屏幕触摸事件?

但是DragGesture,例如,似乎没有访问器可以UITouch.TouchType像属性一样区分direct,indirectpencil

如果没有办法,或者给我一些 UIView 的混合技术,那么哦......

谢谢,

小智 1

我认为最好的方法是创建一个自定义UIGestureRecognizer. 这样您就可以覆盖touchesBegan等等touchesMoved并访问UITouch将包含的对象UITouch.TouchType

请参阅此处的 Apple 示例代码,特别是StrokeGestureRecognizer类。