关于iOS7之后状态栏修改总结

本文选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术,本文讲iOS 7如何修改状态栏文本颜色。

问题:

Oleksandr Veremchuk

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

回答:

Peter B. Kramer

1.    在格式中将UIViewControllerBasedStatusBarAppearance 设置为 YES 

2.    在viewDidLoad中做[self setNeedsStatusBarAppearanceUpdate];

3.    添加如下代码

1
2
3
-(UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}

wilsontgh

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

1.     设置UIViewControllerBasedStatusBarAppearance 为 NO.

2.     调用 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

Lucas

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

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

在项目格式文件中

  • Status bar style: UIStatusBarStyleLightContent
  • View controller-based status bar appearance: NO
  • Status bar is initially hidden: NO

Pradeep Mahdevu

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

在AppDelegate 中添加:

1
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

1
2
3
4
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
   ......
   ...
}

stepik21

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

在Info.plist 添加

UIViewControllerBasedStatusBarAppearance, 设置值为 NO

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

1
2
[application setStatusBarHidden:NO];
[application setStatusBarStyle:UIStatusBarStyleLightContent];

原文链接:How to change Status Bar text color in iOS 7

 

文章选自StackOverFlow社区,鉴于其内容对于开发者有所帮助,现将文章翻译于此,供大家参考及学习。9Tech将每日持续更新,读者可点击StackOverflow(简称:SOF)精选问答汇总,查看全部译文内容。同时,我们也招募志同道合的技术朋友共同翻译,造福大家!

 

posted @ 2015-12-02 10:34  iOS_XL_NSArray  阅读(206)  评论(0编辑  收藏  举报