Ios 子视图控制器中的UIAccessibilityContainer?
我有一个父视图控制器,其中添加了四个子视图控制器。我试图管理这些控制器的可访问性。我有一个Ios 子视图控制器中的UIAccessibilityContainer?,ios,uiviewcontroller,accessibility,voiceover,uiaccessibility,Ios,Uiviewcontroller,Accessibility,Voiceover,Uiaccessibility,我有一个父视图控制器,其中添加了四个子视图控制器。我试图管理这些控制器的可访问性。我有一个状态枚举,它跟踪哪些子项在屏幕上可见,因此当这些子项发生变化时,我会根据需要更新子项的可访问性YelementsHidden,并发送布局更改通知 我的问题涉及在父视图控制器和每个子视图控制器中实现UIAccessibilityContainer协议。父元素需要知道这些元素应该以什么顺序呈现,等等,每个子元素都有自己的元素,这些元素也需要特定的顺序 似乎在子级中,UIAccessibilityContaine
状态
枚举,它跟踪哪些子项在屏幕上可见,因此当这些子项发生变化时,我会根据需要更新子项的可访问性YelementsHidden
,并发送布局更改
通知
我的问题涉及在父视图控制器和每个子视图控制器中实现UIAccessibilityContainer
协议。父元素需要知道这些元素应该以什么顺序呈现,等等,每个子元素都有自己的元素,这些元素也需要特定的顺序
似乎在子级中,UIAccessibilityContainer
方法(accessibilitylementcount
等)从未被调用,因此它似乎忽略了它们,这使得我的元素无序混乱
应该是这样的吗?我可能在这里做错了什么吗?是的,这是正确的,UIAccessibilityContainer所做的是告诉VoiceOver,从可访问性的角度来看,该元素是最内部的元素
您能否从UI的角度提供更多的上下文来说明您正在尝试做什么,可能有更好的方法来实现这一点您的UIAccessibilityContainer方法之所以没有被调用,是因为它们被定义为视图控制器的一部分。它们必须定义为要调用的自定义视图的一部分
我只是在用我自己的分层视图控制器深入研究UIC的可访问性,所以我不知道如何修复您的订单。如果我能弄明白的话,我会更新这篇文章。我有一个
containerViewController
,它基本上管理四个孩子。它们有时会显示或隐藏,这个容器由VC管理这种行为。有些儿童风投在某些时候不在屏幕上,所以我不想在这些时候看到它们。但是,我需要指定这两个VCs的顺序,以及这些VCs中的元素。这是棘手的部分:(是的,这就是我用来显示和隐藏VCs的方法。问题是子VCs中的容器协议方法从未被调用,因此它们的元素顺序混乱。您根本不需要实现UIAccessibilityContainer,只需适当地设置accessibilityElementsHidden是的,我需要实现它,我需要设置t每个子元素内部元素的顺序!没有其他方法可以做到这一点(这将适用于iOS7和iOS8),UIAccessibilityContainer将不适用于您的场景。如果“顺序”是由可见的内容决定的,那么AccessibilityYelementsHidden将确保只有可见的内容才会暴露给AT。如果您的“订单”问题有更多问题,请提供更多信息,我可能会提出一些建议