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

Элементы UIDEutomation Nested Accessibilty исчезают из иерархии

У меня есть представление с двумя подзонами на кнопку и изображение, я включаю доступность и устанавливаю метку в подзонах, и я вижу иерархию, вызывая

UIATarget.localTarget().frontMostApp().mainWindow().logElementTree();

Я получаю следующее, например:

1 Окно

2 Мой просмотр

3 Моя кнопка

3 My Image

Если я затем включил доступность и установил метку для моего родительского представления, я больше не могу видеть свою кнопку и изображение в любом месте иерархии.

Я просто получаю:

1 Окно

2 Мой просмотр

Почему мои взгляды исчезли?

4b9b3361

Ответ 1

Прямо из документа iOS Руководство по доступности

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

Для этого в пользовательском представлении контейнера должен быть реализован протокол UIAccessibilityContainer. Этот протокол определяет методы, которые делают содержащиеся элементы доступными в массиве.

В следующем фрагменте кода показана частичная реализация пользовательского представления контейнера. Обратите внимание, что это представление контейнера создает массив доступных элементов только при вызове методов протокола UIAccessibilityContainer. В результате, если доступность iPhone в настоящее время не активна, массив не создается.