设置状态栏translucent潜在问题

来源:互联网 发布:c语言 string.h库函数 编辑:程序博客网 时间:2024/05/17 01:17

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

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

0 0
原创粉丝点击