Подтвердить что ты не робот

Запретить VoiceOver показывать виды, которые находятся под большим прозрачным представлением

Резюме. Я хочу реплицировать поведение доступности UIAlertView, где фоновый вид все еще отображается, но VoiceOver не взаимодействует с ним.

Подробно: я реализовал доступность для iPhone-приложения, но остался один. В некоторых случаях я показываю большой вид поверх всех остальных (частично прозрачный, охватывающий большую часть исходного вида), содержащих ярлыки и кнопку закрытия. то есть в основном пользовательское всплывающее окно/предупреждение. Проблема заключается в том, что VoiceOver продолжает раскрывать представления/элементы управления под ним.

Один из способов предотвращения обнаружения скрытых просмотров VoiceOver заключается в том, чтобы установить, что весь пользовательский фон просмотра доступен. Тем не менее, это не совсем то, что мы хотим, поскольку этот содержащий представление не должен действительно взаимодействовать с пользователем, только его подпункты (метки/кнопки) должны.

4b9b3361

Ответ 1

Я думаю, вы должны использовать это в своем верхнем представлении:

- (BOOL)accessibilityViewIsModal {
  return YES;
}

Дополнительная информация

Примечание. Требуется iOS5 и вверх

Ответ 2

Вы можете установить следующие свойства в представлении, перекрывающем фон:

view.isAccessibilityElement = false;
view.isAccessibilityModal = true;

Это работает?

Ответ 3

Когда вы скрываете элемент, вы можете установить isAccessibilityItem в значение NO.