我正在为NavigationBar
应用新的外观API,并且在状态栏内容(文本)上苦苦挣扎。在Info.plist上,由于大多数应用程序是白色的,所以我不得不使用灯光模式,但是在我的其中一个viewControllers中,导航栏是深蓝色的(几乎是黑色的),因此该栏中的内容需要为白色。
我以前在{strong> 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
和项目设置了默认配置外观
你们有什么建议吗?
谢谢。
答案 0 :(得分:0)
您还需要设置状态栏样式
UIApplication.shared.statusBarStyle = .lightContent