关于在ios7之后改变状态栏颜色

看到网上都说 在ios7之后要这样设置

首先,需要在Info.plist配置文件中,增加键:UIViewControllerBasedStatusBarAppearance,并设置为YES;

然后,在UIViewController子类中实现以下两个方法:

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

- (BOOL)prefersStatusBarHidden
{
    return NO;
}
最后,在需要刷新状态栏样式的时候,调用[self setNeedsStatusBarAppearanceUpdate]方法即可刷新

注意:
[self setNeedsStatusBarAppearanceUpdate]在push  或者 present 的controller里面调用才起作用。

奇怪的是  我这样设置之后 只有在登录界面有用  界面登录跳转之后(正确的说 应该是还没跳转的时候 网络请求数据之后 状态栏的颜色就变为黑色了,并且在下个界面怎么设置都没用、也许是因为我登录界面是present过去或者什么原因吧,先不讨论这个)颜色就变回去了,不知道是这个方法有问题,还是我代码有问题。

然后我找了一个在我的工程中可用的。略微修改,因为我刚进界面会有张全屏图

调用setStatusBarStyle  任何iOS版本可用

plist文件中

代码中
    if (IsIOS7Later) {
        [[UIApplication sharedApplication] setStatusBarHidden:NO];
        [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    }

而且 我还发现  ios6.0下,登录的界面没有状态栏了。。(登录界面不是navg)只好

    if (!IsIOS7Later) {

        [UIApplication sharedApplication].statusBarHidden = NO;

    }

。。。

哎 具体为什么
- (UIStatusBarStyle)preferredStatusBarStyle
这个方法在另外一个界面就不行了  还是以后再研究吧 估计是我代码问题。
 
 
 
  


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值