-
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
). BothUIStatusBarStyleBlackTranslucent
andUIStatusBarStyleBlackOpaque
are deprecated in iOS 7.0. UseUIStatusBarStyleLightContent
instead.
-
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 theUIViewControllerBasedStatusBarAppearance
key to an app’s Info.plist file and give it the valueNO
.