Ios 画外音没有集中在后退按钮上

Ios 画外音没有集中在后退按钮上,ios,accessibility,voiceover,Ios,Accessibility,Voiceover,当我认为存在UITableView时,我对画外音的行为有问题 选择表格中的一个单元格后,如果返回到ViewController,将触发一个序列,VoiceOver将跳到先前选择的单元格在我的didSelectRowAtIndexPath中,我调用tableView。取消Rowatindexpath(indexath,动画:true)以防止单元格保持选中状态 我尝试在视图中发布UIAccessibilityLayoutChangedNotification或UIAccessibilityScree

当我认为存在
UITableView
时,我对画外音的行为有问题

选择表格中的一个单元格后,如果返回到ViewController,将触发一个序列,VoiceOver将跳到先前选择的单元格
在我的
didSelectRowAtIndexPath
中,我调用
tableView。取消Rowatindexpath(indexath,动画:true)
以防止单元格保持选中状态

我尝试在
视图中发布
UIAccessibilityLayoutChangedNotification
UIAccessibilityScreenChangedNotification
,但没有任何更改


所以我的问题是:这是VO的正确行为吗
当视图出现时,我应该怎么做才能始终聚焦在“后退”按钮上?

是否传入了要聚焦的项目?例如:

UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, self.navigationController.navigationItem.backBarButtonItem);
否则,在
viewdideappear
中,您可以循环浏览所有可见单元格,并在聚焦时关闭辅助功能,然后立即将其重新打开

for(UITableViewCell *cell in self.tableView.visibleCells) {
    if (cell.accessibilityElementIsFocused) {
        cell.isAccessibilityElement = NO;
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            cell.isAccessibilityElement = YES;
        });
    }
}

绝对不是一个优雅的方法,但可能在紧要关头起作用。

您是否传递了您想要集中的项目?例如:

UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, self.navigationController.navigationItem.backBarButtonItem);
否则,在
viewdideappear
中,您可以循环浏览所有可见单元格,并在聚焦时关闭辅助功能,然后立即将其重新打开

for(UITableViewCell *cell in self.tableView.visibleCells) {
    if (cell.accessibilityElementIsFocused) {
        cell.isAccessibilityElement = NO;
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            cell.isAccessibilityElement = YES;
        });
    }
}

绝对不是一种优雅的方法,但可能会在紧要关头起作用。

这将把画外音集中在第一个导航栏元素(后退按钮)上:


这将使画外音集中在第一个导航栏元素(后退按钮)上:


由于这个建议,我尝试传递self.navigationController.navigationItem.backBarButtonItem,但没有任何帮助。最后,我在0.1s内禁用了viewController中所有视图的可访问性,然后重新启用它。根据建议,我尝试传递self.navigationController.navigationItem.backBarButtonItem,但没有任何帮助。我最终禁用了viewController中所有视图的可访问性0.1秒,然后重新启用它。