有什么方法可以避免UITableView的节标题说"标题"读取该部分文本后的画外音模式?我在viewForHeaderInSection中提供自定义视图:。我已经尝试将isAccessibilityElement设置为NO,将accessibilityTraits设置为UIAccessibilityTraitNone,以便我在viewForHeaderInSection中返回自定义视图。但我无法抑制标注"标题"在配音模式下。对于例如如果我在标题中将标签设置为"日期",它将被读出为日期"暂停"标题。
我需要这样做的原因是某些部分只是0行的自定义消息,它们不是任何类型的标题。我不希望将它们作为一个部分中的行。
答案 0 :(得分:1)
回答我的问题,记录我的解决方案。使用了一个实现UIAccessibilityContainer的自定义视图,并在viewForHeaderInSection中返回该视图。在协议中实现了三种方法,仅将视图中的标签标记为可访问性元素。这是我可以让部分在标签配音读数结束时不附加“标题”的唯一方法。
答案 1 :(得分:0)
您可以在自定义视图中实现accessibilityElementDidBecomeFocused方法,此视图确实成为焦点,并将UIAccessibilityLayoutChangedNotification发布到VoiceOver并将焦点转移到自身,然后返回特征UIAccessibilityTraitNone
- (void)accessibilityElementDidBecomeFocused {
UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, self);
}
- (UIAccessibilityTraits)accessibilityTraits {
return UIAccessibilityTraitNone;
}