- 默认的黑色(UIStatusBarStyleDefault)
- 白色(UIStatusBarStyleLightContent)
可以设置的地方有两个:plist设置里面 和 程序代码里
1.plist设置statusBar
在plist里增加一行 UIStatusBarStyle(或者是“Status bar style”也可以),这里可以设置两个值,就是上面提到那两个
UIStatusBarStyleDefault 和 UIStatusBarStyleLightContent
这样在app启动的launch页显示的时候,statusBar的样式就是上面plist设置的风格。
2.程序代码里设置statusBar
在application didfinshed方法里:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
或者
//相对于上面的接口,这个接口可以动画的改变statusBar的前景色
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
如果上面设置状态栏颜色无效的话,试试下面方法
1.将 View controller-based status bar appearance 删除(默认为 YES),或设置为YES
2.设置rootViewcontroller,如果为viewController,那么重写下面的方法
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
如果rootviewcontroller为navgationController,那么可以在所管理的viewcontroller里写下面的代码
如果项目中倒入了第三方重写文件,那么可能需要直接在其文件中进行下面修改,无须创建
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
或者为navgationcontroller写一个分类
.h
@interface UINavigationController (StatusBarStyle)
@end
注意:添加下面方法会有警告:添加下面的#pragma
.m
#import "UINavigationController+StatusBarStyle.h"
@implementation UINavigationController (StatusBarStyle)
- (UIStatusBarStyle)preferredStatusBarStyle
{
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"
return UIStatusBarStyleLightContent;
#pragma clang diagnostic pop
}
@end