Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIC-容器_Ios_Objective C_Uiaccessibility - Fatal编程技术网

Ios UIC-容器

Ios UIC-容器,ios,objective-c,uiaccessibility,Ios,Objective C,Uiaccessibility,画外音中有一个“容器”转子设置,它允许你快速浏览屏幕的“高级”部分(上下滑动)。例如,在日历中有3个项目-导航栏、目录和工具栏 我的应用程序使用自定义UIView子类,无论我尝试做什么——我的所有视图似乎都属于一个容器——因此我无法将它们拆分为逻辑部分。我尝试将它们放在实现UIAccessibilityContainer协议的不同视图中,并在这些父视图上设置一些可访问性属性 有人知道如何创建多个容器吗?我在这个问题上做了一些挖掘,认为这是苹果使用的一个私人特性。首先,我注意到唯一被识别的容器是标

画外音中有一个“容器”转子设置,它允许你快速浏览屏幕的“高级”部分(上下滑动)。例如,在日历中有3个项目-导航栏、目录和工具栏

我的应用程序使用自定义UIView子类,无论我尝试做什么——我的所有视图似乎都属于一个容器——因此我无法将它们拆分为逻辑部分。我尝试将它们放在实现UIAccessibilityContainer协议的不同视图中,并在这些父视图上设置一些可访问性属性


有人知道如何创建多个容器吗?

我在这个问题上做了一些挖掘,认为这是苹果使用的一个私人特性。首先,我注意到唯一被识别的容器是标准的UIKit类型的对象,如UITableView、UITableBars、UINavigationBars等。因此,接下来我使用调试器检查这些组件的可访问性特征的值。它们都是0x200000000。为了确保我没有错过UIAccessibilityTrait,我检查了它们的所有值。它们都不匹配该值。此外,如果您将视图的可访问性特征设置为这个神秘的值,它会像您所希望的那样工作!我试图确定这个常数的位置,但运气不太好。如果你想做更多的挖掘,苹果公司似乎使用一个NSObject类别来存储accessibilityTraits,该类别使用具有常量值AXTraitsIdentifier的关联对象

实际上,您可以执行以下操作,但由于它未在公共API中定义,因此其功能可能会在将来发生变化

//Note the navBar has to be run through a voice over pass before the value is set :( or you can just directly set the value to 0x200000000000.
myContainerView.accessibilityTraits = navBar.accessibilityTraits;

我很想知道是否有其他人有这方面的信息?到目前为止,我还没有找到一个理想的解决方案。

可能重复“否”-不幸的是,它没有回答我的问题。问题是如何创建多个容器(非常重要-在本例中,容器是指voiceover rotor上的“容器”设置,而不是实现UIAccessibilityContainer的对象)。但它是有效的。在这之后的几年里,有更多关于这方面的信息吗?