iOS 开发状态栏颜色和隐藏

View controller-based status bar appearance 的作用

info.plist文件中,View controller-based status bar appearance项设为YES,则View controller对status bar的设置优先级高于application的设置。为NO则以application的设置为准,view controller的prefersStatusBarHidden方法无效,不会被调用的。

iOS系统提供的枚举值有

UIStatusBarStyleDefault        = 0, // Dark content, for use on light backgrounds  默认黑色
UIStatusBarStyleLightContent  白色

一. info.olist设置View controller-based status bar appearance 为 YES

这时 view controller中对status bar的设置优先级高于application的设置

颜色设置

1.可通过重写控制器中的方法

-(UIStatusBarStyle)preferredStatusBarStyle {
    return UIStatusBarStyleDefault;
}

来设置状态栏颜色

2.或者如果有UINavigationBar的情况下也可以通过对应的

self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

方法来设置状态栏颜色

隐藏状态栏设置

调用

[self setNeedsStatusBarAppearanceUpdate]; 

View controller 重写实现

-(BOOL)prefersStatusBarHidden
{
     return YES ;
}

二. info.olist设置View controller-based status bar appearance 为 NO

这时application 中对status bar的设置优先级高于view controller的设置

颜色设置

1.可通过代码

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

设置状态栏颜色

2.或者通过info.plist文件 Status bar style 设置状态栏颜色

隐藏状态栏设置

方法

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];

你可能感兴趣的:(iOS 开发状态栏颜色和隐藏)