iOS 7如何修改状态栏文本颜色?

我这个应用背景色比较深,但是iOS 7状态栏是透明的,所以我看不到任何东西,只能看到角落绿色的电量显示。怎样才能把状态栏颜色改变成白色,就像主屏幕那样?

原问题:How to change Status Bar text color in iOS 7

阅读 14.4k
5 个回答
  1. 在格式中将UIViewControllerBasedStatusBarAppearance 设置为 YES
  2. 在viewDidLoad中做[self setNeedsStatusBarAppearanceUpdate];
  3. 添加如下代码
-(UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}
新手上路,请多包涵

或者,你也可以选择基于状态栏的外观退出view-controller

  1. 设置UIViewControllerBasedStatusBarAppearance 为 NO.
  2. 调用 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
新手上路,请多包涵

其实不写任何代码就能实现。

按照下述步骤,让整个APP中的状态栏文本显示为白色:

在项目格式文件中

  • Status bar style: UIStatusBarStyleLightContent
  • View controller-based status bar appearance: NO
  • Status bar is initially hidden: NO
新手上路,请多包涵

在 Info.plist 中设置'View controller-based status bar appearance' 为 NO

在AppDelegate 中添加:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
   ......
   ...
} 
新手上路,请多包涵

对我来说都没用,下面是我的解决方案:

在Info.plist 添加

UIViewControllerBasedStatusBarAppearance, 设置值为 NO

然后再didFinishLaunchingWithOptions的AppDelegate, 添加这些代码:

[application setStatusBarHidden:NO];
[application setStatusBarStyle:UIStatusBarStyleLightContent];
推荐问题