UIApplication.sharedApplication().在iOS 9中不推荐使用setStatusBarStyle()

Ric*_*ick 38 xcode statusbar ios swift ios9

我一直在用

UIApplication.sharedApplication().setStatusBarStyle()
Run Code Online (Sandbox Code Playgroud)

在我的appDelegate中,它运行良好,但自iOS 9以来,这种方法已被弃用,我找不到替代方案.

我想将整个应用程序的状态栏样式更改为.LightContent,但xCode给出的唯一建议是在每个VC中单独处理;

override func preferredStatusBarStyle() -> UIStatusBarStyle {
    return .LightContent
}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何为整个应用程序这样做?

提前致谢

Ric*_*ick 70

我想我找到了解决方案.我最终设置了

View controller-based status bar appearance 布尔值 NO

在我的info.plist文件中.

的Info.plist

然后我去我的目标的General settings -> Deployment info,改变了下拉选项 Status Bar StyleLight代替Default

将状态栏样式更改为Light

这将状态栏样式更改Light为我的整个应用程序,正如我想要的那样.

我希望这有帮助!

  • 因此,有两种方法可以做到这一点。进行上述操作,然后将基于View控制器的状态栏外观设置为NO,然后将Deployment Info设置为light,或者将基于View控制器的状态栏外观设置为YES,然后在您的视图控制器中使用Override func preferredStatusBarStyle()-> UIStatusBarStyle {return UIStatusBarStyle.LightContent}` (2认同)

Egz*_*ifi 10

在Swift 3中是这样的:

 UIApplication.shared.statusBarStyle = .lightContent
Run Code Online (Sandbox Code Playgroud)


Mar*_*uiz 9

在快速3.

在您的视图控制器中:

override var preferredStatusBarStyle: UIStatusBarStyle {
    return UIStatusBarStyle.lightContent
}
Run Code Online (Sandbox Code Playgroud)

如果您希望应用程序运行时,您的启动屏幕还有lightContent中的状态栏,那么:

在此输入图像描述