是否可以捕捉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
为了可访问性而实现此方法。会有另一种方式吗?
答案 0 :(得分:0)
解决方案是使用accessibilityScroll
方法,并在那里更改view
的{{1}}数组。
来自文档:
accessibilityElements
所以我基本上为我的集合视图覆盖了这个方法,并建议我的用户“三指滑动”以获得此行为,这是导致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
。