Как отключить доступность для представления, включая все его подпункты?

Когда я устанавливаю isAccessibilityElement = NO в представлении, содержащем subviews с isAccessibilityElement = YES, VoiceOver все еще обнаруживает их.

Мне нужно отключить доступность для всей иерархии представлений, которая по-разному обрабатывается VoiceOver. Как я могу достичь этого, не пробираясь через каждый элемент в графе объектов и не вмешиваясь в его настройку?

Ответ 1

self. accessibilityElementsHidden = YES;

это делает все подзаголовки скрытыми от доступности.

Ответ 2

Я попытался бы установить для свойства accessibilityElementsHidden основного представления значение YES. Если это не то, что вы хотите, я бы попытался переопределить методы UIAccessibilityContainer на главном представлении, чтобы вернуть 0 детей.

Ответ 3

Просто установите свойство accessibilityElementsHidden.