iOS 设置状态栏风格

一:统一设置状态栏风格

>前提:在info.plist 中添加 View controller-based status bar appearance并设置为NO 意为:不基于单个控制器设置状态栏风格

方法一:

    TAGGETS->General->Deployment Info-> Status Bar Style 选择Light(前景色为白色)Default(前景色为黑色 即默认)

方法二:

    AppDelegate.m 中增加 application.statusBarStyle = UIStatusBarStyleLightContent

二:单独设置每个控制器的状态栏风格

>前提:在info.plist 中添加 View controller-based status bar appearance 并设置为YES 意为:基于单个控制器设置状态栏风格

第一种情况:控制器在当前NavigationController中

 - (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    //设置状态栏
    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
 }
 - (void)viewWillDisappear:(BOOL)animated {
    [super viewDidAppear:animated];
    //重置状态栏
    self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
 }

第二种情况:控制器不在当前NavigationController中
在控制器中重写

 - (UIStatusBarStyle)preferredStatusBarStyle {
    return UIStatusBarStyleLightContent;
 }

你可能感兴趣的:(iOS 设置状态栏风格)