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秒,然后重新启用它。