- Set the
- In the
- Add the following method:
This will not work controllers inside
UINavigationController does not forward on
preferredStatusBarStyle calls to its child view controllers. Instead it manages its own state - as it should, it is drawing at the top of the screen where the status bar lives and so should be responsible for it. Therefor implementing preferredStatusBarStyle in your VCs within a nav controller will do nothing - they will never be called.
The trick is what the
UINavigationController uses to decide what to return for
UIStatusBarStyleLightContent. It bases this on it’s
UINavigationBar.barStyle. The default (
UIBarStyleDefault) results in the dark foreground
UIStatusBarStyleDefault status bar. And
UIBarStyleBlack will give a
UIStatusBarStyleLightContent status bar.
If you want
UIStatusBarStyleLightContent on a