iOS Change Status Bar Color For UINavigationBar status bars

Help us to keep this website almost Ad Free! It takes only 10 seconds of your time:
> Step 1: Go view our video on YouTube: EF Core Bulk Insert
> Step 2: And Like the video. BONUS: You can also share it!

Example

Subclass UINavigationController and then override these methods:

In Objective-C:

- (UIStatusBarStyle)preferredStatusBarStyle
{ 
    return UIStatusBarStyleLightContent; 
}

In Swift:

override func preferredStatusBarStyle() -> UIStatusBarStyle {
    return .lightContent
}

Alternatively, you can set barStyle on the UINavigationBar instance:

Objective C:

// e.g. in your view controller's viewDidLoad method:
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;  // this will give you a white status bar

Swift

// e.g. in your view controller's viewDidLoad method:
navigationController?.navigationBar.barStyle = .black // this will give you a white status bar

UIBarStyle options are default, black, blackOpaque, blackTranslucent. The latter 3 should all give you a status bar with white text, just the last two specify the opacity of the bar.

Note: you can still change the appearance of your navigation bar as you like.



Got any iOS Question?