user1008096
user1008096

Reputation: 535

How to change status bar style during launch on iOS 7

When I launch my app, it shows the launch image and a black status bar. How can I change it so the status bar is light during launch? I have set the status bar appearance to light in my AppDelegate didFinishLoading method, and it works for the rest of the app.

Upvotes: 53

Views: 30481

Answers (6)

rahulchona
rahulchona

Reputation: 602

**

 - You must take care of these three things:

**

**- In info.plist file**
Set UIViewControllerBasedStatusBarAppearance to YES

**- In your view controller** in which you want change color of status bar
add this [self setNeedsStatusBarAppearanceUpdate] in viewDidLoad

**- Lastly, add this method**
- (UIStatusBarStyle)preferredStatusBarStyle
{
      return UIStatusBarStyleLightContent;
}

Note: If you want to set color of statusBar for all the View Controllers then steps are
**- In info.plist file**
Set UIViewControllerBasedStatusBarAppearance to YES

**- Then add this in appDelegate**
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; // **It is deprecated in iOS 9**

Upvotes: 0

samwize
samwize

Reputation: 27353

There are 2 steps:

  1. This is usually what developers know how to do – Under Target settings > General > Status Bar Style > Change to Light. This will effect the Info.plist to include UIStatusBarStyleLightContent.

  2. This step is often missed out – In Info.plist, add View controller-based status bar appearance and set to NO

Upvotes: 19

Mohit Tomar
Mohit Tomar

Reputation: 5201

Just define this method in any view or file you want:

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

// swift 
override func preferredStatusBarStyle() -> UIStatusBarStyle {
    return .LightContent
}

Upvotes: 11

Pavel Volobuev
Pavel Volobuev

Reputation: 149

Works on iOS7 and iOS8

You need to set in your Info.plist file property for key Status bar style:

  1. Set Opaque black style or Transparent black style (alpha of 0.5) for White status bar
  2. Set Gray style (default) to set Black status bar color.

It looks like you set Background style for Status Bar and XCode understand which color of status bar need to choose. Dark background - white status bar, light background - black status bar

Upvotes: 2

BalestraPatrick
BalestraPatrick

Reputation: 10144

In my case, UIStatusBarStyleLightContent wasn't a possible option. I set Transparent black style (alpha of 0.5) as value for the key Status bar style in my .plist and the result was a white status bar.

Upvotes: 3

Tricertops
Tricertops

Reputation: 8512

To your Info.plist file add this key-value pair:

UIStatusBarStyle: UIStatusBarStyleLightContent

The default (black) value is UIStatusBarStyleDefault.

You can also append ~iphone or ~ipad to the key.

Upvotes: 109

Related Questions