Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Установка подсказки о доступности для UINavigationItem

Автор вопроса: user2990765Ответов: 1

Я хочу, чтобы закадровый текст озвучивал пользовательское сообщение после того, как зачитано название представления. Для этого я установил подсказку о доступности для элемента навигации.

self.navigationItem.accessibilityHint= @"Custom message.";

Однако закадровый голос не зачитывает подсказку для UINavigationItem. Он только зачитывает заголовок и на этом останавливается. Добавление текста к метке доступности - это вариант, я считаю, что это обходной путь, если это не сработает. Есть другие предложения?

Я пытаюсь дать указание пользователю передать устройство другому пользователю при отображении определенного экрана. Хочу, чтобы инструкцию огласили после того, как будет зачитано название.

  • Разве вы не должны указать намек на конкретный UIBarButtonItem? rmaddy 17.05.2016
  • Я хочу, чтобы голос сначала прочитал заголовок навигации, а затем подсказку. Установка его на UIBarButtonItem будет читать заголовок элемента кнопки панели, а затем читать подсказку. user2990765 26.05.2016
  • Правильно. Но вам нужно установить подсказку на самом элементе кнопки панели. Затем, когда пользователь нажимает элемент кнопки панели, будет прочитан заголовок кнопки, а затем подсказка. rmaddy 26.05.2016
  • Отредактировал свой вопрос, чтобы лучше понять, почему мне нужна подсказка по заголовку, а не по кнопке панели. user2990765 26.05.2016
  • О, вы хотите, чтобы заголовок контроллера представления содержал подсказку. Я не знаю, как обойтись без явной установки titleView для элемента навигации. rmaddy 26.05.2016

iosaccessibilityvoiceoveruinavigationitem

Ответы

Ответ 1 · John Rogers

Подсказка по специальным возможностям предназначена для описания того, как взаимодействовать с определенным элементом интерфейса на экране. UINavigationItems обычно не интерактивны, поэтому подсказка о доступности - неправильное место для размещения вашего пользовательского сообщения. В свою очередь, по этой же причине он не зачитывается.

Не приведет ли размещение вашего пользовательского сообщения к метке доступности элемента навигации к такому же эффекту? Вы можете добавить дефис, чтобы создать короткую паузу:

NSString *accessibilityLabel = [NSString stringWithFormat:NSLocalizedString(@"%1$@ - Custom message."), self.navigationItem.title];
self.navigationItem.accessibilityLabel = accessibilityLabel;

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы