Специальные возможности: сделать UILabel с атрибутным текстом в качестве контейнера специальных возможностей. - PullRequest
0 голосов
/ 02 сентября 2018

У меня есть пользовательский вид. Я делаю снимок экрана просмотра и использую изображение в NSTextAttachment как:

UIImage *image = view.image;
    NSTextAttachment *attachment = [NSTextAttachment new];
    attachment.image = image;

Затем я создаю изменяемую строку атрибутов с таким вложением:

NSAttributedString *attrStr = [NSAttributedString attributedStringWithAttachment:attachment];

Этот код зацикливается для всех представлений, и создается одна последняя строка с атрибутом, добавляя все attrStr как:

[mutableString beginEditing];
    [mutableString appendAttributedString:attrStr];
    [mutableString endEditing];

Затем устанавливается атрибут UILabel.

Проблема: я хочу, чтобы голос за кадром перебирал отдельные изображения в тексте. Так, чтобы каждое изображение было в фокусе за кадром.

Спасибо !!

1 Ответ

0 голосов
/ 07 декабря 2018

Лучший способ перебирать отдельные изображения (например, представление коллекции) основывается на том факте, что каждый элемент определяется как UIAccessibilityElement внутри оболочки, свойство trait которой равно adjustable.

Чтобы понять, как это должно быть реализовано, я предлагаю вам взглянуть на WWDC 2018 - Deliver an exceptional accessibility experience видео, содержание которого идеально обобщено здесь и чей представленный пример может быть загружен .

Использование протокола UIAccessibilityContainer также может быть интересным следом для расследования.

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

...