使用UIViewControllerBasedStatusBarAppearance时更改默认的UIStatusBarStyle

时间:2016-10-31 10:51:16

标签: ios iphone uikit

我正在开发一个包含多个视图控制器的应用程序。 其中一些视图控制器应使用UIStatusBarStyleDefault样式,其余视图应默认为UIStatusBarStyleLight样式。

我希望在我的Info.plist中将preferredStatusBarStyle:设置为 YES 时使用View controller-based status bar appearance。如果我不需要在每个ViewController(有很多)中实现preferredStatusBarStyle:,那将是很好的,但仅限于使用默认样式的那些。所以我正在寻找所有VC中最少的代码更改。

我尝试在目标设置中设置“常规”UIStatusBarStyle,但是当基于View控制器的状态栏外观设置为YES时,这不会改变任何内容。

请不要使用UIApplication's setStatusBarStyle:animated:statusBarStyle属性提供答案,因为这些已被弃用,以及我提出这个问题的原因。

1 个答案:

答案 0 :(得分:1)

默认样式是默认样式!所以你确实只在你希望Light风格的地方添加代码。

这是要记住的事情。 API是每个顶级视图控制器指示它想要状态栏的显示方式。你可能没有很多。因此根本不需要太多代码。