滑动以切换重点辅助功能元素 iOS



当用户在某些 App 中开启了"旁白"时,单手向右或向左轻扫会更改重点辅助功能元素并朗读(例如,App Store 排行榜视图)。我想在我自己的应用程序(使用故事板)中拥有它。

我可以想出几种方法来自己使用滑动手势识别器和辅助功能元素列表来执行此操作,但似乎在辅助功能 API 中必须有一种方法可以做到这一点。然而,我的研究一无所获。

这是内置功能吗?如果是这样,如何在情节提要或代码中添加它?

编辑:

根据其中一个答案的建议,我已经为我的观点实施了 UIAccessibility 协议。这是代码。

- (NSInteger)accessibilityElementCount{
  return 4;
}
- (id)accessibilityElementAtIndex:(NSInteger)index{
  return [@[self.menuButton, self.firstButton, self.secondButton, self.thirdButton] objectAtIndex:index];
}
- (NSInteger)indexOfAccessibilityElement:(id)element{
  return [@[self.menuButton, self.firstButton, self.secondButton, self.thirdButton] indexOfObject:element];
}

我遇到此问题的视图是在界面生成器情节提要中定义的。毫无疑问,您可以从代码中推断出,它具有 3 个按钮作为子视图。

您描述的是旁白的内建行为,无法基于每个应用进行更改。

如果要修改顺序元素的焦点,请查看 iOS 7 的UIAccessibilityContainer协议或 iOS 8 的NSObject accessibilityElements属性。 如果您不想实现其中任何一个,也可以简单地将accessibilityElementsHidden设置为YES您希望 VoiceOver 忽略的元素。

我通过向情节提要中的按钮添加辅助功能标签来解决此问题。因为画外音已经正确地说出了他们的标签,所以我以前没有费心这样做。

最新更新