iOS Objective-C VoiceOver更新可用的可访问元素

问题描述 投票:1回答:1

当到达ViewController时,我遇到了VoiceOver关注错误视图(不是第一个)的问题。我试图通过使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;
    });
}

这是有效的,但是有一个缺点。焦点停留在firstView上,这意味着左右滑动不会改变焦点。获得“不被打破”的唯一方法是利用另一个元素。

那么如何通知系统accessibilityElements发生了更新?我想要滑动手势。

ios objective-c voiceover
1个回答
1
投票

accessibilityElements设置为nil时,请使用UIAccessibilityScreenChangedNotification通知更新,并将accessibility元素作为传入参数进行聚焦。

您将能够根据需要通知系统并使用滑动手势。

© www.soinside.com 2019 - 2024. All rights reserved.