看到很多文章讲解设置状态栏的时候,直接丢设置状态栏的API方法,而没有考虑到info.plist中的项目对这些设置状态栏代码的影响。
如果没有考虑到这个,有的情况这些的代码根本是无用功,因为从来就不执行。
View controller-based status bar appearance:
当这里的值分别为:
YES,则以ViewController的设置为准,即通过preferredStatusBarStyle来设置状态栏。而ViewController对status bar的设置优先级高于application的设置。NO,则以application的设置为准,即通过setStatusBarStyle:来设置状态栏。而ViewController的preferredStatusBarStyle方法无效,是根本不会被调用的。
注意点
[[UIApplicationsharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent];需要先在info.plist设置View controller-based status bar appearance项设为No。