I discovered that if your ViewController is inside a navigationController then the navigationController’s navigationBar.barStyle
determines the statusBarStyle.
Setting your navigationBar’s barStyle
to UIBarStyleBlackTranslucent
will give white status bar text (ie. UIStatusBarStyleLightContent
), and UIBarStyleDefault
will give black status bar text (ie. UIStatusBarStyleDefault
).
Note that this applies even if you totally change the navigationBar’s color via its barTintColor
.