关于iOS7之后状态栏修改总结
本文选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术,本文讲iOS 7如何修改状态栏文本颜色。
问题:
我这个应用背景色比较深,但是iOS 7状态栏是透明的,所以我看不到任何东西,只能看到角落绿色的电量显示。怎样才能把状态栏颜色改变成白色,就像主屏幕那样?
回答:
1. 在格式中将UIViewControllerBasedStatusBarAppearance 设置为 YES
2. 在viewDidLoad中做[self setNeedsStatusBarAppearanceUpdate];
3. 添加如下代码
1
2
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 中添加:
1
|
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; |
至
1
2
3
4
|
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ ...... ... } |
对我来说都没用,下面是我的解决方案:
在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)精选问答汇总,查看全部译文内容。同时,我们也招募志同道合的技术朋友共同翻译,造福大家!