9.0之前设置电池栏StatusBar的颜色用以下方法:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault]; //'setStatusBarStyle:' is deprecated: first deprecated in iOS 9.0 - Use -[UIViewController preferredStatusBarStyle] [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];9.0之后,上面的方法就被遗弃不能用了,所以用以下方法替换:
如果之前在info.plist 中 View controller-based status bar appearance 设置 NO,一定要改为为 YES,如果之前没有设置就可以不用管,不然preferredStatusBarStyle 不调用当你想改变状态栏颜色时在相对应的ViewController中加入: - (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; }在工程中加入UINavigationController的扩展类,重写以下方法: - (UIViewController *)childViewControllerForStatusBarStyle { return self.visibleViewController; } - (UIViewController *)childViewControllerForStatusBarHidden { return self.visibleViewController; } - (UIStatusBarStyle)preferredStatusBarStyle { // オンラインとオフライン取得 AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; if ([delegate onLineOffLine]) { return UIStatusBarStyleLightContent; } else { return UIStatusBarStyleDefault; } }通过以上三步,我们就完成了StatusBar的颜色的修改。