用于UITableView部分的ios画外音

时间:2014-05-21 16:34:52

标签: ios uitableview accessibility voiceover

有什么方法可以避免UITableView的节标题说"标题"读取该部分文本后的画外音模式?我在viewForHeaderInSection中提供自定义视图:。我已经尝试将isAccessibilityElement设置为NO,将accessibilityTraits设置为UIAccessibilityTraitNone,以便我在viewForHeaderInSection中返回自定义视图。但我无法抑制标注"标题"在配音模式下。对于例如如果我在标题中将标签设置为"日期",它将被读出为日期"暂停"标题。

我需要这样做的原因是某些部分只是0行的自定义消息,它们不是任何类型的标题。我不希望将它们作为一个部分中的行。

2 个答案:

答案 0 :(得分:1)

回答我的问题,记录我的解决方案。使用了一个实现UIAccessibilityContainer的自定义视图,并在viewForHeaderInSection中返回该视图。在协议中实现了三种方法,仅将视图中的标签标记为可访问性元素。这是我可以让部分在标签配音读数结束时不附加“标题”的唯一方法。

答案 1 :(得分:0)

您可以在自定义视图中实现accessibilityElementDidBecomeFocused方法,此视图确实成为焦点,并将UIAccessibilityLayoutChangedNotification发布到VoiceOver并将焦点转移到自身,然后返回特征UIAccessibilityTraitNone

- (void)accessibilityElementDidBecomeFocused {
       UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification,   self);
}

- (UIAccessibilityTraits)accessibilityTraits {
    return UIAccessibilityTraitNone;
}