iOS辅助功能 - 在电影上做点什么?

时间:2015-11-10 01:10:11

标签: ios swift uicollectionview accessibility

是否可以捕捉VoiceOver单指电影的辅助功能?我想在用户看到特定元素后才更新我的accessibilityElements数组。

背景:

我手动将accessibilityElements数组设置为我的集合视图中的visibleCells(),然后是我视图的done按钮。但是,一旦用户到达done按钮,我希望用户有机会继续滚动(就像普通用户一样),但我不知道如何用户已到达done辅助功能元素,将新visible cells推送到accessibilityElements数组中。

代码: 只是为了给出更多背景,这就是我正在做的事情:

    var accessibilityElements : [UIView] = myCollectionView.visibleCells()
    accessibilityElements.append(doneButton)
    view.accessibilityElements = accessibilityElements

这一切都发生在我的viewDidAppear方法中。将可访问性刷到doneButton之后,有没有办法在某个地方做同样的事情?

尝试方法:

我尝试使用UIAccessibilityFocus协议,但我尝试检查焦点的视图是UIButton,我不想要继承UIButton为了可访问性而实现此方法。会有另一种方式吗?

1 个答案:

答案 0 :(得分:0)

解决方案是使用accessibilityScroll方法,并在那里更改view的{​​{1}}数组。

来自文档:

accessibilityElements

Link to docs

所以我基本上为我的集合视图覆盖了这个方法,并建议我的用户“三指滑动”以获得此行为,这是导致Scrolls screen content in an application-specific way and returns the success or failure of the action. func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool Parameters direction A constant that specifies the direction of the scrolling action. See UIAccessibilityScrollDirection for descriptions of valid constants. 被调用的原因。我总是回归真实,并在我应该发生的细胞上做适当的动画。

PS。 accessibilityScroll.Next .Previous值从未发生过,我只有direction.Right