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

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

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

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

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


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


Ответы (1)


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

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

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