【发布时间】:2018-11-04 23:23:05
【问题描述】:
当 VoiceOver 被禁用时,我有一个带有 SceneKit 会话的功能性 ARKit。
我可以使用 touchesBegan(_:) 来捕捉触摸。
但是,当我激活 VoiceOver 时,触摸似乎被辅助功能框架捕获。我无法在场景视图中获得用户触摸的任何反馈以实施自定义操作。
我尝试将打印语句放入:
- touchesBegan 方法
- 一个调试子视图放置为带有点击手势识别器的场景视图的子视图
- 在accessibilityScroll方法中
但他们似乎都没有被调用。 启用可访问性后,有什么方法可以获得用户触摸的任何反馈? (我只是想在双击时映射一些自定义操作) 或者注册一些可访问性通知以获得一些用户触摸反馈?
我还观察到以下可能相关的警告:
[Accessibility] *** -[SCNSceneAccessibilityaccessibilityContainer] 中的断言失败,@:10772554112。
@ [Accessibility] |SCNSceneAccessibility.m:44 -[SCNSceneAccessibilityaccessibilityContainer]|视图应该已经设置了我们的容器
编辑(解决方案)
情节提要中的最终设置允许捕获触摸: 1) 确保在主视图中启用辅助功能 2) 确保启用用户交互启用 3) 确保启用 Allows Direct Interaction trait
【问题讨论】:
标签: ios accessibility scenekit arkit