gpt4 book ai didi

iOS 辅助功能——在轻弹上做点什么?

转载 作者:行者123 更新时间:2023-11-30 13:55:55 25 4
gpt4 key购买 nike

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

背景:

我手动将我的 accessibilityElements 数组设置为 Collection View 中的 visibleCells(),然后设置 View 的 done 按钮。不过,一旦用户到达完成按钮,我希望用户有机会继续滚动(就像普通用户一样),但我不知道如何在此时用户已到达 done 辅助功能元素,将新的可见单元格推送到 accessibilityElements 数组中。

代码:只是为了提供更多背景信息,这就是我正在做的事情:

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

这一切都发生在我的 viewDidAppear 方法中。在将辅助功能滑动到 doneButton 后,有没有办法在某个位置执行相同的操作?

尝试的方法:

我尝试使用 UIAccessibilityFocus 协议(protocol),但我尝试检查焦点的 View 是 UIButton,并且我不想子类 UIButton 实现此方法只是为了可访问性。还有别的办法吗?

最佳答案

解决方案是使用 accessibilityScroll 方法,并在其中更改 viewaccessibilityElements 数组。

来自文档:

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.

Link to docs

所以我基本上为我的 Collection View 重写了这个方法,并建议我的用户“三指滑动”来获得这个行为,这就是导致 accessibilityScroll 被调用的原因。我总是返回 true,并为应该发生的单元格滑动执行适当的动画。

PS。 .Next.Previous direction 值从未发生在我身上,我只得到了 .Right .左

关于iOS 辅助功能——在轻弹上做点什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33621205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com