我在我的应用程序中使用 UINavigationController。 使用 VoiceOver 时,当按下新的 ViewController 时,backButton 具有焦点。
如果 View 出现,我宁愿让 titleView 的 accessibilityLabel 成为焦点, 以便首先读取它的 accessibilityLabel。
使用 UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, self.navigationItem);
当我第一次创建和推送 View Controller 时,titleView 似乎得到了关注。
但是当我从另一个 View Controller (推到第一个 View Controller )返回时,焦点再次位于后退按钮上。
最佳答案
我应该设置 titleView 的 accessibilityLabel,而不是 navigationItem。 以下作品:
- (void) viewDidLoad
{
...
self.navigationItem.titleView.accessibilityLabel = @"[text-to-speak]";
}
- (void) viewDidAppear
{
[super viewDidAppear];
UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, self.navigationItem.titleView);
}
关于ios - 辅助功能:如何始终将焦点设置在导航项的标题 View 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15904461/