-
The status bar in iOS 7 is transparent, the view behind it shows through.
-
The style of the status bar refers to the appearances of its content. In iOS 7, the status bar content is either dark (
UIStatusBarStyleDefault) or light (UIStatusBarStyleLightContent). BothUIStatusBarStyleBlackTranslucentandUIStatusBarStyleBlackOpaqueare deprecated in iOS 7.0. UseUIStatusBarStyleLightContentinstead.
-
If below the status bar is a navigation bar, the status bar style will be adjusted to match the navigation bar style (
UINavigationBar.barStyle):Specifically, if the navigation bar style is
UIBarStyleDefault, the status bar style will beUIStatusBarStyleDefault; if the navigation bar style isUIBarStyleBlack, the status bar style will beUIStatusBarStyleLightContent. -
If there is no navigation bar below the status bar, the status bar style can be controlled and changed by an individual view controller while the app runs.
-[UIViewController preferredStatusBarStyle]is a new method added in iOS 7. It can be overridden to return the preferred status bar style:- (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; } -
If the status bar style should be controlled by a child view controller instead of
self, override-[UIViewController childViewControllerForStatusBarStyle]to return that child view controller. -
If you prefer to opt out of this behavior and set the status bar style by using the
-[UIApplication statusBarStyle]method, add theUIViewControllerBasedStatusBarAppearancekey to an app’s Info.plist file and give it the valueNO.
This is one of the best explanations how the new status bar works. A textbook example how Apple documentation should look like.