子视图控制器中的UIAccessibilityContainer?

时间:2014-12-17 11:28:41

标签: ios uiviewcontroller accessibility voiceover uiaccessibility

我有一个父UIViewController,我添加了四个子视图控制器。我正在尝试管理这些控制器的可访问性。我有一个status枚举,用于跟踪哪些孩子在屏幕上可见,所以当更改时,我会根据需要更新孩子的accessibilityElementsHidden,并发送{{1通知。

我的问题涉及在父视图控制器和每个子视图控制器内部实现LayoutChanged协议。父母需要知道应该呈现这些元素的顺序等等,并且每个孩子都有自己的元素,这些元素也需要特定的排序。

看来,在孩子们的内部,UIAccessibilityContainer方法(UIAccessibilityContainer等人)从未被调用过,所以看起来它忽略了它们,这使得我的元素无序而且凌乱。 / p>

它应该如何?我可能在这里做错了吗?

2 个答案:

答案 0 :(得分:1)

未调用UIAccessibilityContainer方法的原因是因为它们被定义为视图控制器的一部分。必须将它们定义为要调用的自定义视图的一部分。

我正在使用我自己的分层视图控制器深入研究UIAccessibility,所以我对如何修复你的订购没有答案。如果我能搞清楚的话,我会更新这篇文章。

答案 1 :(得分:0)

是的,这是正确的,UIAccessibilityContainer正在做的是告诉VoiceOver该元素是从可访问性角度来看最内层的元素。

你能否从UI的角度给出更多关于你想要做什么的背景,可能有更好的方法来实现这个目标