ios修改status bar颜色及xcode7下日志出现CGContextSaveGState: invalid context 0x0错误

设计稿要求Status bar的颜色是白色的,按照以往的做法就是:

info.plist添加View controller-based status bar appearance为NO(默认是YES)


然后在页面执行[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

即可让Status bar变成白色~

 

——————————然后问题就在xcode7出现了————————

<Error>: CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
 <Error>: CGContextTranslateCTM: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
 <Error>: CGContextRestoreGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.

出现这个的原因是,之前的做法是IOS6的做法,在IOS7&8中是兼容的,但是到了IOS9就不建议这么做了:-)

虽然不影响程序运行与使用,但是作为强迫症患者,不希望看到任何警告~~~~~

所以,现在的做法是:

1、View controller-based status bar appearance设置为YES(其实在info.plist删掉这条也可以)

2、在需要改变Status bar的view controller增加一个方法

#pragma mark - 白色status bar
-(UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

注:这个方法只能改变当前view controller的颜色,不能全局更改

留坑:

1、这种方法在IOS9以下是否会生效?

2、怎么全局改变

试了下,在navigation bar controller里实现preferredStatusBarStyle可达到全局效果。

等我后面的查找~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值