首页 文章

配音:ViewWillAppear中的UIAccessibilityLayoutChangedNotification未在每次加载视图时将焦点设置在导航栏 Headers 上

提问于
浏览
0

在过去的两天里,我一直在努力解决这个问题 . 我有一个 UITabBarController ,每个标签在视图中都有一个 UINavigationController . 当我加载标签栏控制器语音正在正确读取标签视图导航栏 Headers . 它第一次加载视图时工作 . (看起来这是默认行为 . )但是当我再次选择标签时,画外音正在读取标签信息,但没有将焦点设置到导航栏 Headers . 有没有办法在每次加载选项卡视图时将其设置为专注于 Headers . 我试过用

override func viewWillAppear(_ animated: Bool) {
   super.viewWillAppear(animated)     

   UIAccessibilityPostNotification 
            (UIAccessibilityLayoutChangedNotification, self.navigationItem.titleView)
}

我还尝试将标签创建为 Headers 视图并将其设置为 NavigationItem .

什么都没有帮助 .

任何建议都非常感谢 .

谢谢 .

1 回答

  • 0

    尝试不在viewWillAppear中的viewDidAppear

    - (void)viewDidAppear:(BOOL)animated
    {
        [super viewDidAppear:animated];
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, self.navigationItem.titleView);
        });
    }
    

相关问题