iOS statusBarStyle状态栏变色

iOS 遇到需要修改状态栏显示的颜色,实践发现,修改其实很简单。

 

1、所有的页面状态栏都是相同的颜色。

只要在项目的infoPlist文件中添加一项:

View controller-based status bar appearance,添加后,它的默认值就是NO,表示由系统管理状态栏,

此时在AppDelegate中添加如下代码:[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;   这样就可以让状态栏中显示为亮色。

 

 2、如果不想应用里所有的页面状态栏都是相同的颜色。

可以将infoPlist中View controller-based status bar appearance设置为YES,这就表示将statusBar的控制权交给了各自的控制器。

在需要修改状态栏的控制器viewDidLoad中写上[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;即可单独为本控制器修改状态栏。

 

3、或者还有一种方式,ios很贴心的在UIViewController也增加了几个接口,

目的是让状态栏根据当前显示的UIViewController来定制statusBar的前景部分。

- (UIStatusBarStyle)preferredStatusBarStyle;

- (UIViewController *)childViewControllerForStatusBarStyle;

- (void)setNeedsStatusBarAppearanceUpdate

  

只需要在控制器中实现preferredStatusBarStyle方法,直接返回需要的状态栏设置就可以了。

 

posted on 2017-09-29 14:32  iRemark  阅读(208)  评论(0编辑  收藏  举报

导航