移动辅助function配音移动光标焦点到特定元素

我在将配音光标移动到viewDidAppear上的特定元素时遇到问题。 我遵循Apple的指导原则 ,专注于特定元素,在这种情况下是一个消除按钮,但光标最终会在其他地方

这是我的代码:

- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, self.dismissButton); } 

任何帮助,想法,绝对会受到赞赏! 非常感谢。

如果我没记错的话,我无法可靠地关注视图的第一个元素,因为VO通常会关注视图的顶部。

您正在执行的代码是正确的,但此时系统将触发它自己的事件并覆盖您的代码。

您可以尝试做的是延迟发布通知。 但是这会导致焦点在打开视图时跳跃一点点。

这不是一个答案,但那是我现在所处的位置。 如果我找到一种方法,我会更新你。

这个答案可能会有所帮助。

基本上,如果元素不在一个容器视图中,则需要将它们包装在容器视图中,然后覆盖指定的方法。

通过为所需元素提供低于其他元素的标记,您可以使视图对数组进行排序,以确保它将成为VoiceOver使用的accessibilityElements数组中的第一个元素。 或者您可以调整排序方法以另一种方式排序。

仅供参考:从iOS 11开始, UIAccessibilityScreenChangedNotificationUIAccessibilityLayoutChangedNotification都能可靠地为我调整Voice Over元素。