iOS之 状态栏字体颜色的设置
Posted 青卷三部
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS之 状态栏字体颜色的设置相关的知识,希望对你有一定的参考价值。
前一段时间接手一个项目后,熟悉的过程中发现了不少问题,其中有一个就是关于状态栏的问题。
我们都知道:状态栏字体颜色在不同界面不一样的,原因是系统设置的时候把状态栏的字体颜色的界面控制器设置的yes。
那么问题来了,如果我自定义了导航栏,而状态栏的字体颜色是希望统一颜色,怎么办?
方法一:我们可以一个界面一个界面的去设置,因为apple已经给出了系统方法:
//默认的值是黑色的 -(UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleDefault; } // 是否隐藏状态栏 - (BOOL)prefersStatusBarHidden { return NO; }
当然这样,会很繁琐,我们也不推荐使用,并且还会出现这种情况:设置后并没有显示效果。
方法二:在application中设置状态栏的字体颜色,(推荐使用)
typedef NS_ENUM(NSInteger, UIStatusBarStyle) { UIStatusBarStyleDefault = 0, // Dark content, for use on light backgrounds UIStatusBarStyleLightContent NS_ENUM_AVAILABLE_ios(7_0) = 1, // Light content, for use on dark backgrounds UIStatusBarStyleBlackTranslucent NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 1, UIStatusBarStyleBlackOpaque NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 2, }
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //设置状态栏字体颜色 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES]; }
如果只是这样在设置 application 中设置,并没有什么用,还需要一些配置才行,具体如下:
在plist文件中添加:View controller-based status bar appearance 并设置为 NO 即可。
以上是关于iOS之 状态栏字体颜色的设置的主要内容,如果未能解决你的问题,请参考以下文章