53

当我启动我的应用程序时,它会显示启动图像和黑色状态栏。如何更改它以使状态栏在启动期间亮起?我在 AppDelegate didFinishLoading 方法中将状态栏外观设置为亮起,它适用于应用程序的其余部分。

4

6 回答 6

109

Info.plist文件中添加这个键值对:

UIStatusBarStyle: UIStatusBarStyleLightContent

默认(黑色)值为UIStatusBarStyleDefault

您还可以附加~iphone~ipad键。

于 2013-09-20T19:28:44.857 回答
19

两个步骤

  1. 这通常是开发人员知道如何做的——在目标设置 > 常规 > 状态栏样式 > 更改为浅色下。这将影响 Info.plist 以包含UIStatusBarStyleLightContent.

  2. 这一步经常被遗漏——在 Info.plist 中,添加View controller-based status bar appearance并设置为 NO

于 2015-09-23T02:37:44.527 回答
11

只需在您想要的任何视图或文件中定义此方法:

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

// swift 
override func preferredStatusBarStyle() -> UIStatusBarStyle {
    return .LightContent
}
于 2013-09-27T08:45:07.187 回答
3

就我而言,UIStatusBarStyleLightContent这不是一个可能的选择。我在我的 .plist 中设置Transparent black style (alpha of 0.5)为键的值,Status bar style结果是一个白色的状态栏。

于 2014-03-08T12:20:38.060 回答
2

适用于 iOS7 和 iOS8

您需要在您的Info.plist文件属性中设置 key Status bar style

  1. 设置Opaque black styleTransparent black style (alpha of 0.5)白色状态栏
  2. 设置Gray style (default)为设置黑色状态栏颜色。

看起来您为状态栏设置了背景样式,XCode 了解需要选择哪种颜色的状态栏。深色背景 - 白色状态栏,浅色背景 - 黑色状态栏

于 2015-01-29T14:30:35.527 回答
0
**

 - You must take care of these three things:

**

**- In info.plist file**
Set UIViewControllerBasedStatusBarAppearance to YES

**- In your view controller** in which you want change color of status bar
add this [self setNeedsStatusBarAppearanceUpdate] in viewDidLoad

**- Lastly, add this method**
- (UIStatusBarStyle)preferredStatusBarStyle
{
      return UIStatusBarStyleLightContent;
}

Note: If you want to set color of statusBar for all the View Controllers then steps are
**- In info.plist file**
Set UIViewControllerBasedStatusBarAppearance to YES

**- Then add this in appDelegate**
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; // **It is deprecated in iOS 9**
于 2015-10-03T12:31:49.220 回答