iOS开发iOS7状态栏文字颜色修改

一.什么是状态栏

iOS7状态栏就是指的最上面的20像素高的部分

状态栏分前后两部分,分别是:

· 前景部分: 就是指的显示电池、时间等部分

· 背景部分: 就是显示黑色或者图片的背景部分

二.修改状态栏的前景部分的颜色

1.状态栏可以设置成两种颜色:

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,
} __TVOS_PROHIBITED;

UIStatusBarStyleDefault 默认颜色,黑色

UIStatusBarStyleLightContent 白色

2.修改颜色有两种方法:

 ①.在项目中的Info.plist中添加一个属性  Key值是View controller-based status bar appearance  Type是Boolean  Value值是NO .有人说这样不方便,我教大家一种好的办法:在Info.plist上右击,以源代码方式打开.如下图:

之后再<key>之前加入以下代码:

<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

在要改变状态栏颜色的UIViewController中添加以下代码:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];

或者:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES];

就可以了

 ②.在Info.plist中将View controller-based status bar appearance设置成YES,或者不设置,因为它默认为YES.

在要改变状态栏颜色的UIViewController中添加以下方法:

- (UIStatusBarStyle)preferredStatusBarStyle;

注意:如果将它设置成NO时,上面的步骤将不起作用

三.总结:

1、若是在控制器覆写了-(UIStatusBarStyle)preferredStatusBarStyle方法,却发现没有作用,查看是否Info.plist文件中将View controller-based status bar appearance设置为NO了

2、当ViewController在UINavigationController中时,如果导航栏存在,则以UINavigationController中-(UIStatusBarStyle)preferredStatusBarStyle返回风格为标准;如果导航栏隐藏了,则以控制器中返回的风格为标准

3、在iOS8中,UIStatusBarStyleBlackTranslucent与UIStatusBarStyleBlackOpaque相当于UIStatusBarStyleLightContent

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值