关于 ios:在视图及其子视图上启用 VoiceOver

Enable VoiceOver on the view and it subviews

背景:就像 Apple 的电话应用程序中的语音邮件视图。我希望能够从单元格上下文以及各个控件中获得画外音通知。

问题:似乎如果父视图打开了可访问性,则子视图变得不可访问。

我研究了 shouldGroupAccessibilityChildrenaccessibilityViewIsModal 但他们似乎没有解决它。我认为 UIAccessibilityNavigationStyle 可能是答案,但不确定如何使用它。

澄清:这与可视语音邮件无关。下图显示了 Apple 原生应用的画外音功能。黑盒子是声音的目标所在。绿色框只是屏蔽了一些私人信息。

选择整体框时
enter


你应该考虑子类化 UIAccessibilityContainer 协议。我相信这就是你想要的。创建一个自定义可访问性容器,它是您想要的所有东西的父级。然后,您可以更精细地控制您的超级视图及其子视图如何报告给可访问性 API。