Swift 3 UIStatusBarStyle不适用于UINavigationController

时间:2016-09-25 12:24:18

标签: ios swift uiviewcontroller

Swift 3中的某些内容发生了变化。 我曾经能够在每个ViewController上将状态栏颜色从默认值更改为浅色,即使它已包含在UINavigationController内。

现在我有UINavigationController来管理我的所有UIViewController,当我在每个ViewController执行此操作时,它无法正常工作:

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

另一方面,当我将此代码插入我的UINavigationCotroller子类时,它可以正常运行,但我根本无法动态更改它,这意味着我的所有{{1}现在有ViewController,我无法改变它。

这种可怕的变化是否有解决方案?

谢谢:)

1 个答案:

答案 0 :(得分:-1)

您可以通过将UIApplication.shared.statusBarStyle = .lightContent添加到didFinishLaunchingWithOptions功能中的AppDelegate.swift文件,将其动态更改为应用中的所有视图。您还需要转到info.plist文件并添加布尔View controller-based status bar appearance并将其设置为NO