2013-03-11 137 views
2

最近,我一直在努力让我的应用程序在VoiceOver中运行良好。通常它很简单直接,但是我想模拟一些系统应用程序的行为,而且我很难找到API来设置它。如何将iOS VoiceOver转子添加到自定义视图中?

特别是,我有兴趣为VoiceOver“转子”添加一些选项,并在用户增加和减少值时对其进行响应。然而,尽管苹果的地图应用程序等应用程序向转子添加项目并且能够响应,但我无法弄清楚如何为我的应用程序这样做。

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

回答

2

UPDATE:iOS的10终于增加了自定义的转子项目添加到VoiceOver的能力(不是一回事“操作”转子项目) - 只需添加UIAccessibilityCustomRotor对象数组到合适的容器视图的accessibilityCustomRotors

OLD答案

目前还没有API添加自己的旋翼物品。您只能实现怎样一些现有的转子项目的工作:

  1. “调整值” - 在这里你应该返回UIAccessibilityTraitAdjustable特质对accessibilityTraits,然后实现accessibilityIncrement/accessibilityDecrement方法
  2. “标题” - 你标记一些视图作为UIAccessibilityTraitHeader,那么这些应该是用户移动通过视图当用户旋转到“标题”和笔触向上/向下
  3. OLD UPDATE:“操作” - 见UIAccessibilityCustomAction

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

+0

不幸的是,这正是我所看到的。看起来只有苹果已经成功添加了东西(地图尤其具有缩放级别,但Google地图使用“调整值”方法)。 – gaige 2013-03-14 11:32:37

+0

您是否知道如何让转子中的'线条'选项出现?尽管在系统设置中选择了它,但未显示。我有一个主要基于文本的应用程序,但使用带单元格的UITableView来布局文本。 – 2014-04-01 17:28:07

+0

我已经问上述作为一个单独的问题:http://stackoverflow.com/questions/22793032/can-i-influence-what-appears-in-the-voiceover-rotor – 2014-04-01 17:42:53

3

使用iOS 8,可以使用-accessibilityCustomActions方法返回一个UIAccessibilityCustomAction对象的数组,代表您想要呈现的动作“转子风格”。

+0

这确实放大了当前转子列表您可以调整其工作方式的项目(从2到3,添加“动作”转子项目)。但它仍然不允许添加自定义的转子项目。 – 2015-01-14 21:29:21

+1

它允许添加自定义转子项目;我在我的应用程序中使用这种方法做到了这一点。 – 2015-01-15 05:15:18