修改状态栏的文字颜色和背景色

Posted 宁静暖风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改状态栏的文字颜色和背景色相关的知识,希望对你有一定的参考价值。

一.修改状态栏文字颜色

这里修改文字颜色分两种情况

(1)导航栏是隐藏状态

如果导航栏为隐藏状态 可以直接在控制器中重写如下方法

// 重写方法 状态栏白色
- (UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}

这样状态栏的文字就可以变成白色了

(2)导航栏不是隐藏状态

如果导航栏不是隐藏状态 会发现方法(1)没有作用了
这时要采用第二种方法, 一共有两个步骤
1 -> 设置info.plist 字段 View controller-based status bar appearance 为NO (如果没有此字段 请添加)
2 -> 在代码中写上如下代码

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

如果你做了上面两个步骤且操作没有错误的话 就会发现状态栏文字变为了白色

二.修改状态栏背景颜色

 // 隐藏导航栏
    self.navigationController.navigationBarHidden = YES;
    // 修改状态栏颜色
    UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
    
    if ([statusBar respondsToSelector:@selector(setBackgroundColor:)])
    {
        statusBar.backgroundColor = getColor(mainColor);
    }

 

以上是关于修改状态栏的文字颜色和背景色的主要内容,如果未能解决你的问题,请参考以下文章

Android标题栏状态栏图标文字颜色及背景动态变化

如何修改WebView 中点击文字链接时的文字背景色

安卓状态栏文字颜色修改

word怎么去除文字背景底色

Android设置状态栏颜色和状态栏文字、图标颜色

如何自定义状态栏图标和文字颜色?例如。状态栏背景:白色,状态栏图标颜色,文字:红色