如何添加到 iOS VoiceOver 转子以获得自定义视图?

gai*_*ige 5 accessibility objective-c ios voiceover

最近,我一直在努力使我的应用程序与 VoiceOver 一起运行良好。一般来说,它简单明了,但我想模仿系统应用程序的一些行为,而且我很难找到 API 来进行设置。

特别是,我有兴趣向 VoiceOver“转子”添加几个选项,并在用户增加和减少值时响应它们。然而,尽管像 Apple 的 Maps 应用程序这样的应用程序向转子添加了项目并且能够做出响应,但我不知道如何为我的应用程序这样做。

有没有人成功地做到这一点?如果是这样,如何?

Bor*_*šek 3

更新:iOS 10 最终添加了将自定义转子项目添加到 VoiceOver 的功能(与“操作”转子项目不同) - 只需将UIAccessibilityCustomRotor对象数组添加到accessibilityCustomRotors相应的容器视图即可。

旧答案

目前没有 API 可以添加您自己的转子项目。您只能实现一些现有转子项目的工作方式:

  1. “调整值” - 在这里您应该返回accessibilityTraits的UIAccessibilityTraitAdjustable特征,然后实现accessibilityIncrement / accessibilityDecrement方法
  2. “标题” - 您将一些视图标记为UIAccessibilityTraitHeader,那么当用户旋转到“标题”并向上/向下滑动时,这些视图应该是用户移动的视图
  3. 旧更新:“操作”-参见UIAccessibilityCustomAction

我想如果您需要向转子添加自定义项目,您应该提交雷达。