iOS设置StatusBar的字体颜色

产品要实现状态栏字体颜色,不同页面显示不同的颜色,要实现这个需求其实很简单,只不过由于自己之前没做过,所以绕了一些弯路,UIStatusBarStyle有如下几个枚举值

UIStatusBarStyleDefault 默认值是黑色

UIStatusBarStyleLightContent 白色

首先由于根视图是navgationController,于是我在根视图重写了如下几个方法:

-(UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;

}、

//状态栏显示最上面一次控制器所需要的颜色
-(UIViewController *)childViewControllerForStatusBarStyle{
   
    return self.topViewController;

}
// 是否隐藏状态栏
- (BOOL)prefersStatusBarHidden
{
    return NO;
}

通过这样的设置,就使得状态栏字体颜色为白色了,但是要使得里面的子视图颜色改变,则需要在子视图里面也加上如下这个方法,原因我就不多加赘述了

-(UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleDefault;

}

猜你喜欢

转载自blog.csdn.net/ForeverMyheart/article/details/88993027