您的位置:首页 > 移动开发 > IOS开发

iOS9以后更改状态栏 statusBar 字体颜色

2017-02-21 16:07 35 查看
以前我们为了能够实时的控制顶部statusbar的样式,可能会在喜欢使用

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
[[UIApplication sharedApplication]setStatusBarHidden:YES];
但是这么做之前需要将 info.plist 里面加上View controller-based status bar appearance  BOOL值设为NO,就是把控制器控制状态栏的权限给禁了,用UIApplication来控制。但是这种做法在iOS9不建议使用了,建议我们把那个BOOL值设为YES,然后用控制器的方法来管理状态栏。

1.如果
rootViewController 为 viewController,在基类中重写下面的方法就可以了

- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}

2.如果 rootViewController
为 navigationController,有两种方式

第一种:

在 navigationController
所管理的 viewController 中写下面的代码

self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

第二种:
为 navigationController
写一个分类,重写下面的方法

#import "UINavigationController+StatusBarStyle.h"

@implementation UINavigationController (StatusBarStyle)

- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: