修改状态栏字体的颜色

一般,我们会统一的设置状态栏字体的颜色

  • 步骤一
    可以在AppDelegate.m文件的设置,此时还需要将info.plist文件中的View controller-based status bar appearance设置为“NO”
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 把状态栏设置为白色
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];
}
  • 步骤二
    直接在info.plist文件设置View controller-based status bar appearance为“NO”
    设置Status bar style为“ UIStatusBarStyleLightContent”

  • 步骤三
    如果想在加载启动页的工程中不显示状态栏,可在info.plist中添加属性:Status bar is initially hidden,将其设置为“NO”

不同的控制器设置不同的颜色

  • 这时可以在对应控制器中的导航控制器的主控制器中调用下面代码,这时也需要将info.plist文件中的View controller-based status bar appearance设置为“NO”
-(UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

有时,在同一个控制器中也有需要修改状态栏字体的颜色的情况

  • 这时可以再控制器中添加下面代码,这时也需要将info.plist文件中的View controller-based status bar appearance设置为“NO”
-(UIStatusBarStyle)preferredStatusBarStyle
{
    if ("白") {
        return UIStatusBarStyleLightContent;
    }
    // 黑
    return UIStatusBarStyleDefault;
}

在需要改变颜色的位置调用

[self setNeedsStatusBarAppearanceUpdate];

之后,系统会自动滴啊用preferredStatusBarStyle方法

你可能感兴趣的:(修改状态栏字体的颜色)