iOS开发重写preferredstatusbarstyle 方法不执行

由于项目需要,不同界面状态栏颜色不一样。

开始尝试用[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方法了。

你可能感兴趣的:(iOS开发重写preferredstatusbarstyle 方法不执行)