更改 UILabel 的隐藏 属性 是否也会关闭其辅助功能?

Does changing the hidden property of a UILabel also turn it's accessibility off?

我创建了一个 UILabel 并从属性检查器将其设置为 hidden,相当于:

self.hiddenLabel.hidden = YES;

它设置了一个 accessibilityLabel 字符串:

self.hiddenLabel.accessibilityLabel = @"Hidden Label";

现在,当我检查 self.hiddenLabel.isAccessibilityElement 属性 时,我奇怪地发现它已关闭。另外,当我查看 self.hiddenLabel.accessibilityElementsHidden 时,我发现它被设置为 true。

所以现在,为了方便使用,我需要手动将 self.hiddenLabel.isAccessibilityElement 设置为 YES。谁能告诉我为什么会出现这种行为,或者我该如何规避这种行为?

您可能正在观察 UILabel 的默认辅助功能行为。要实现自定义行为,重写 UIAccessibility protocol. That said, if you're trying to create faux accessibility elements with no visible presence, it's more correct and consistent to adopt UIAccessibilityElement 中定义的方法而不是自定义 UIKit 控件。