将辅助功能旁白光标焦点移动到特定元素



我在将画外音光标移动到viewDidAppear上的特定元素时遇到问题。我遵循了Apple的指导方针,专注于特定元素,在本例中为关闭按钮,但光标最终位于其他地方

这是我的代码:

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

任何帮助,想法,肯定会不胜感激!非常感谢。

如果我

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

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

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

这不是一个太多的答案,但这就是我目前所处的位置。如果我找到一种方法,我会更新你。

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

基本上,如果元素

尚未包含在容器视图中,则需要将元素包装在容器视图中,然后覆盖指定的方法。

通过为所需元素指定一个低于其他元素的标签,您可以让视图对数组进行排序,以确保它是 VoiceOver 使用的辅助功能元素数组中的第一个元素。或者,您可以调整排序方法以另一种方式进行排序。

供参考:从iOS 11开始,UIAccessibilityScreenChangedNotificationUIAccessibilityLayoutChangedNotification都可靠地为我集中了画外音元素。

最新更新