Как программно установить accessibilityLabel на UILabel? - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь программно установить метку доступности и значение для UILabel («Мега заголовок!») В моем UIViewController. Вот мой взглядDidLoad ...

- (void)viewDidLoad {
    [super viewDidLoad];

    // seems you can only set value on UILabel
    self.powLabel.isAccessibilityElement = YES;
    self.powLabel.accessibilityLabel = @"lbl label";    // sets value ???
    self.powLabel.accessibilityValue = @"lbl value";    // this doesn't work.

    // you can set title and value on UIView
    self.powView.isAccessibilityElement = YES;
    self.powView.accessibilityLabel = @"view label";    // sets title
    self.powView.accessibilityValue = @"view value";    // sets value


    // you can set title and value on UIButton
    self.powButton.isAccessibilityElement = YES;
    self.powButton.accessibilityLabel = @"btn label";    // sets title
    self.powButton.accessibilityValue = @"btn value";    // this value   
}

Название / значение специальных возможностей корректно устанавливаются в элементах управления UIView и UIButton ... однако в элементе управления UILabel устанавливается только значение специальных возможностей. Вот скриншот того, что показывает инспектор специальных возможностей ...

enter image description here

Как настроить UILabel, чтобы accessibilityLabel действительно имел значение?

Ответы [ 2 ]

0 голосов
/ 02 июля 2019

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

Accessibility Inspector Example

0 голосов
/ 14 января 2019

UILabel будет иметь текст, установленный с использованием .text, в качестве accessibilityLabel, в зависимости от того, что вы хотите сделать, я думаю, что лучше использовать accessibilityIdentifier для идентификации элементов пользовательского интерфейса и оставить значение по умолчанию.

...