设置状态栏translucent潜在问题

在iOS8之后,因为状态栏的状态基本都是半透明的状态,在很多我们设计的情况下,是不需要这种半透明的状态,而是需要全透明的状态栏,因此我们会设置translucent属性为NO。
但是​因为好多VC都是受navigation的管理,我们不可能在每个VC都设置translucent属性,而大多数的开发者会选择在AppDelete中设置下面一句代码:
[UINavigationBar appearance].translucent = NO;
错误的写法
这样设置是可以解决问题,但是存在一个潜在的问题,在iOS8以上的系统都没有问题,但是在iOS7的系统上,一启动程序就会直接出现闪退,根本进入不到主页面。

解决的办法:我们只能在创建UINavigationController的时候,在这个时候设置
navigationController.navigationBar.translucent = NO;
正确的写法
只有这样我们才能保证程序即能正常运行也能设置透明状态。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值