Специальные возможности: как всегда устанавливать фокус на виде заголовка элемента навигации

Я использую UINavigationController в моем приложении. При использовании VoiceOver кнопка backButton имеет фокус, когда нажимается новый ViewController.

Я бы предпочел, чтобы accessibilityLabel titleView был сфокусирован, если представление появится, так что его accessibilityLabel будет прочитан первым.

С помощью UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, self.navigationItem);titleView кажется сфокусированным, когда я впервые создаю и нажимаю контроллер представления. Но когда я возвращаюсь с другого контроллера представления (нажатого на первый), фокус снова на кнопке назад.

1 ответ

Я должен был установить метку accessibilityLabel titleView, а не навигационный элемент. Следующие работы:

- (void) viewDidLoad
{
   ...
   self.navigationItem.titleView.accessibilityLabel = @"[text-to-speak]";
}
- (void) viewDidAppear
{
  [super viewDidAppear];       
  UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, self.navigationItem.titleView);
}
Другие вопросы по тегам