0

我正在编写一个touchesBegan/Moved/etc用于跟踪手势并将其绘制在屏幕上的应用程序。启用 VoiceOver 后,当我双击绘图区域时,第一次触摸总是通过touchesBegan视图中心的 (to ),而不管实际点击的位置。想法?

我已将视图的可访问性属性设置为

self.isAccessibilityElement = true           // Default is false.
self.accessibilityElementsHidden = false     // Default is false anyway.
4

1 回答 1

1

这是因为 VoiceOver 会捕获手势,并将它们转换为更基本的事件。这使残障用户可以更轻松地与应用程序交互。虽然这会完全破坏您的应用程序的可访问性,但我不一定推荐它。您正在寻找的是UIAccessibilityTraitAllowsDirectInteraction. 同样,这将在几乎所有情况下完全破坏可访问性。但是,在绘图应用程序中,这可能只是有意义的,并且有助于部分站点用户的可访问性。

您应该向盲人用户说明,该应用程序是一个绘图空间,并且需要在屏幕的其他区域执行正常的 VoiceOver 手势。此外,请确保您的视图不会占用过多的屏幕,以抑制 VoiceOver 的标准使用。

于 2015-12-07T03:36:14.373 回答