Обновление VoiceOver для iOS Objective-C Доступные доступные элементы - PullRequest
1 голос
/ 24 апреля 2019

У меня была проблема с тем, что VoiceOver фокусировался на неправильном виде (не на первом) при поступлении в ViewController.Я пытался решить эту проблему, добавив в accessibilityElements только вид, на котором я хотел бы сфокусироваться, и через 1 секунду очистил его.

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.view.accessibilityElements = @[self.firstView];
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC), dispatch_get_main_queue(), ^{
        self.view.accessibilityElements = nil;
    });
}

Это работает, однако есть недостаток.Фокус застревает на первом видении, а это означает, что смещение влево и вправо не меняет фокус.Единственный способ получить «неоткрепленный» - это нажать на другой элемент.

Итак, как я могу уведомить систему о том, что произошло обновление с accessibilityElements?Я бы хотел, чтобы смахивающие жесты работали.

1 Ответ

1 голос
/ 24 апреля 2019

Когда вы установите accessibilityElements на ноль, сообщите об обновлении, используя UIAccessibilityScreenChangedNotification с элементом доступности, который будет фокусироваться как входящий параметр.

Вы сможете уведомлять систему и использовать жесты смахивания по желанию.

...