首页 > 解决方案 > 区分手指触控和 Apple Pencil 触控

问题描述

我正在使用 SceneKit 在 iPad Pro 上渲染 3D 模型。我的要求是我想在使用 Apple Pencil 时执行不同的交互。

有没有办法区分手指触摸和 Apple Pencil 触摸?

我尝试覆盖touchesBegan函数并过滤UITouchinSet以忽略带有 type的函数pencil,但这似乎没有任何作用......

编辑:我对处理这两种不同类型的触摸更感兴趣(即当有手指触摸事件时,我想做一些动作 A。如果是铅笔,我想做动作 B)。我什至重写了哪些方法来实现这种隔离?

标签: iosswiftuikituitouchapple-pencil

解决方案


简单的检查方法是 UITouch 对象将具有来自手写笔(例如 Apple Pencil)的附加信息。检查对象上是否存在此信息,以及 UITouch 对象是否来自触控笔。

有关更深入的信息,我已在开发人员文档中的 Apple Pencil 输入指南下方链接。

但是,您能否提供代码,因为 UITouch 上的类型仍应正确报告?

https://developer.apple.com/documentation/uikit/pencil_interactions/handling_input_from_apple_pencil


推荐阅读