iOS开发·状态栏设置技巧(1):设置状态栏颜色的小结与误区

看到很多文章讲解设置状态栏的时候,直接丢设置状态栏的API方法,而没有考虑到info.plist中的项目对这些设置状态栏代码的影响。

如果没有考虑到这个,有的情况这些的代码根本是无用功,因为从来就不执行。

  • 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
  • 不设置默认YES,即View controller对status bar的设置优先级高于application的设置。

你可能感兴趣的:(iOS开发·状态栏设置技巧(1):设置状态栏颜色的小结与误区)