画外音中有一个“容器”转子选项,用户可以通过单指向上滑动和向下滑动操作快速浏览屏幕的“高级”部分。例如,日历应用程序有三个高级项目:导航栏、内容和工具栏。
我的应用使用自定义的UIView子类,无论我尝试做什么,我所有的视图似乎都属于一个容器。我不能将它们分成逻辑部分。我尝试将它们放在单独的视图中,实现UIAccessibilityContainer协议,并在父视图上设置一些可访问性属性。
有人知道如何创建多个容器吗?
画外音中有一个“容器”转子选项,用户可以通过单指向上滑动和向下滑动操作快速浏览屏幕的“高级”部分。例如,日历应用程序有三个高级项目:导航栏、内容和工具栏。
我的应用使用自定义的UIView子类,无论我尝试做什么,我所有的视图似乎都属于一个容器。我不能将它们分成逻辑部分。我尝试将它们放在单独的视图中,实现UIAccessibilityContainer协议,并在父视图上设置一些可访问性属性。
有人知道如何创建多个容器吗?
2条答案
按热度按时间jmo0nnb31#
我对这个问题做了一些调查,认为这是苹果正在使用的一个私人特性。首先,我注意到唯一能识别的容器是标准的UIKit类型对象,如UITableViews,UITabBars,UINNavigationBars,所以接下来我使用调试器检查这些组件的可访问性特征的值。它们都是0x 20000000000。只是为了确定我没有“不要错过UIAccessibilityTrait我检查了它们所有的值。没有一个值与这个值匹配。此外,如果你将视图的可访问性特性设置为这个神秘的值,它就会像你想要的那样工作!我试图确定这个常量的位置,但没有太多的运气。如果你想做更多的挖掘,它看起来像苹果存储accessibilityTraits使用NSObject类别,使用关联的对象与一些常量值命名为AXTraitsIdentifier。
实际上,您可以执行类似下面的操作,但由于它不是在公共API中定义的,因此其功能在将来可能会发生变化
我很想听听其他人是否有这方面的信息?到目前为止,我还没有找到一个理想的解决方案。
zpjtge222#
通过将视图的accessibilityContainerType属性设置为semanticGroup,当选择“容器”转子选项时,我可以通过单指向上滑动和向下滑动操作来访问应用程序中的视图。