我正在为 NavigationBar
应用新的外观 API,但我正在努力处理状态栏内容(文本)。在 Info.plist 上,我强制使用浅色模式,因为大多数应用程序是白色的,但在我的一个 viewController 中,导航栏是深蓝色(几乎是黑色),因此该栏中的内容需要是白色的。
我曾经在 iOS 12.4 及更高版本上使用 navigationBar.barStyle = .black
,但对于 iOS 13 及更高版本则不然。不再工作了。请遵循我尝试过但失败的代码。
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if let navController = self.navigationController {
let navBarAppearance = navController.navigationBar.standardAppearance.copy()
navBarAppearance.configureWithOpaqueBackground()
navBarAppearance.shadowImage = UIImage()
navBarAppearance.backgroundColor = LayoutBootstrap.colors.primary.solid // Dark blue
navController.navigationBar.standardAppearance = navBarAppearance
navController.navigationBar.barStyle = .black
}
}
PS:在 didFinishLaunchingWithOptions
上,我已经调用了 NavigationBar
和 Items
大家有什么建议吗?
提前致谢。
最佳答案
您还需要设置状态栏样式
UIApplication.shared.statusBarStyle = .lightContent
关于swift - iOS 13 导航栏.barStyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59033999/