由于项目需要,不同界面状态栏颜色不一样。
开始尝试用[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;修改状态栏颜色。
问题1:每次修改都会全局变颜色,如果在需要更改的界面忘记修改,或者时机不对,将会出现颜色显示错误。
问题2:代码管理起来麻烦。
开始尝试在需要修改状态栏颜色的viewController中调用系统方法来修改当前ViewController的状态栏颜色:
- (UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent;
//UIStatusBarStyleDefault黑色 UIStatusBarStyleLightContent白色
}
代码写好了 问题也出现了,发现怎么也不调用。
好吧 继续百度吧 看别人怎么解决的。大多都让创建分类。这就不在赘述了,有兴趣的可以简单搜索看一下。
这是突然想起来,之前修改状态栏颜色的时候在info.plist文件中添加一个View controller-based status bar appearance,并且设置为NO。好吧找到怀疑的点了。
开始下手,修改View controller-based status bar appearanc设置成YES。然后跑了下代码,这是开始执行preferredStatusBarStyle方法了。
网友评论