iOS 修改状态栏字体颜色(亲测,好用)

有时候我们需要根据不同的背景修改状态栏字体的颜色,我的方法比较复杂,如果有更好用的方法欢迎大家提出来,我会持续更新的。
#方法一
1.首先是设置info.plist 文件:
  将View controller-based status bar appearance 的值设置为NO。
2.在AppDelegate.m 的方法中如下设置,默认会显示黑色等于为你的app状态栏设置一个主颜色

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//设置全局状态栏字体颜色为黑色
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
//设置全局状态栏字体颜色为白色
// [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

return YES;
}

3.在需要设置为白色的地方添加如下代码:

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

4.在需要变回黑色的地方添加如下代码:

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;

例如你想将一个控制器的状态栏的字体颜色设为白色代码如下:

#pragma mark - 设置状态栏颜色
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

}

-(void)viewWillDisappear:(BOOL)animated

{

[super viewWillDisappear:animated];

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;

}

这里要注意,在UITabBarController中如果选项卡每个页面都加载出来,那么在你切换页面时,会先调用下一个页面的viewWillAppear方法,再调用本页面的viewWillDisappear方法,会影响状态栏的字体颜色改变.

时间: 2024-10-23 21:49:48

iOS 修改状态栏字体颜色(亲测,好用)的相关文章

iOS之 状态栏字体颜色的设置

前一段时间接手一个项目后,熟悉的过程中发现了不少问题,其中有一个就是关于状态栏的问题. 我们都知道:状态栏字体颜色在不同界面不一样的,原因是系统设置的时候把状态栏的字体颜色的界面控制器设置的yes. 那么问题来了,如果我自定义了导航栏,而状态栏的字体颜色是希望统一颜色,怎么办? 方法一:我们可以一个界面一个界面的去设置,因为apple已经给出了系统方法: //默认的值是黑色的 -(UIStatusBarStyle)preferredStatusBarStyle { return UIStatus

iOS 修改状态栏字体的颜色

在实际开发中,状态栏有时,需要我们自己设置: 比如: 默认状态栏 假如我们开发的view是黑色的,那么效果如图: 状态栏是白底黑字,下面的view是黑底? 这样子真的好吗?说好的和谐社会呢?说好的开发就是艺术呢? 所以最好的效果是 view的底色和状态栏的比较和谐点: 如何改变状态栏的颜色呢? 1 .首先在工程的Supporting Files文件夹中 info.plist  中,将 View-based status bar appearance  设为 NO 2.在对应的viewcontro

在iOS7中修改状态栏字体的颜色-b

状态栏的字体为黑色: UIStatusBarStyleDefault 状态栏的字体为白色: UIStatusBarStyleLightContent 一.在 info.plist  中,将 View controller-based status bar appearance  设为 NO 状态栏字体的颜色只由下面的属性设定,默认为白色: // default is UIStatusBarStyleDefault [UIApplication sharedApplication].statusB

iOS开发之iOS7设置状态栏字体颜色

应用中登陆界面颜色较浅,状态栏字体颜色为黑色,跳转到主界面之后,界面颜色较深,状态栏颜色随之变成白色.但是再重新返回登陆界面后,状态栏字体颜色并没有改成黑色,特别别扭. plist文件里将View controller-based status bar appearance改为NO然后在view controller里边加上下边一句就可以了,这样状态栏是黑字 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyle

iOS7状态栏字体颜色修改

iOS7中,默认的状态栏字体颜色是黑色的,如何修改为其它颜色呢? 1.在项目的*info.plist中增加 View controller-based status bar appearance 属性,并设置值为NO 2.在代码的viewDidLoad中增加如下代码,此处设置为白色字体 1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 5 //状态栏白色字体 6 [[UIApplication sharedApplication] setSta

在iOS7中修改状态栏字体的颜色

状态栏的字体为黑色: UIStatusBarStyleDefault 状态栏的字体为白色: UIStatusBarStyleLightContent 一.在 info.plist  中,将 View controller-based status bar appearance  设为 NO 状态栏字体的颜色只由下面的属性设定,默认为白色: // default is UIStatusBarStyleDefault [UIApplication sharedApplication].statusB

状态栏字体颜色

//状态栏字体颜色 [application setStatusBarStyle:UIStatusBarStyleLightContent]; //显示状态栏 [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone]; 状态栏字体颜色

IOS 修改状态栏颜色

默认状态栏是黑色,一般都会改变成白色,状态栏有好几种颜色,黑色,白色,灰色等,都是用枚举类表示,所以只懂修改一种,其他都会, //修改状态栏颜色     //在Info.plist中设置UIViewControllerBasedStatusBarAppearance 为NO.还有下面一行代码     [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

修改状态栏的颜色

/** *  修改状态栏颜色 *  UIStatusBarStyleDefault 默认黑色,在浅色的背景上使用 *  UIStatusBarStyleLightContent 亮白,在深色的背景上使用 *  UIStatusBarStyleDefault IOS7之后淘汰 *  UIStatusBarStyleDefault IOS7之后淘汰 * */ - (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLi