【发布时间】:2019-10-04 10:06:37
【问题描述】:
如何将UIAccessibility 的焦点设置在UITabBarController 的选定选项卡的内容上?它一直专注于选定的UITabBarItem。
我尝试将焦点设置在UITabBarControllerDelegate:
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
if let destination = (viewController as? UINavigationController)?.viewControllers.first {
UIAccessibility.post(notification: .screenChanged, argument: destination)
} else {
UIAccessibility.post(notification: .screenChanged, argument: viewController)
}
}
我也尝试将焦点设置在选定的UIViewController:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
UIAccessibility.post(notification: .screenChanged, argument: accessibilityElements?.first)
}
遗憾的是,可访问性焦点没有改变。我不确定这是 iOS 13 的问题还是一般的标签栏问题,因为即使是 Apple 自己的 AppStore 应用程序在选择标签时也不会改变可访问性焦点。
【问题讨论】:
标签: ios swift uitabbarcontroller voiceover uiaccessibility