iOS 13 navigationBar.barStyle

时间:2019-11-25 14:25:07

标签: swift statusbar navigationbar ios13

我正在为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
    }
}
  

Status bar content is black

PS:在didFinishLaunchingWithOptions上,我已经为NavigationBar和项目设置了默认配置外观

你们有什么建议吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

您还需要设置状态栏样式

UIApplication.shared.statusBarStyle = .lightContent