首页 文章

用于UITableView部分的ios配音

提问于
浏览
4

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

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

2 回答

  • 1

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

    - (void)accessibilityElementDidBecomeFocused {
           UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification,   self);
    }
    
    - (UIAccessibilityTraits)accessibilityTraits {
        return UIAccessibilityTraitNone;
    }
    
  • 0

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

相关问题