22
votes

As shown on Apple's September 2012 keynote, the status bar tint color varies between apps in iOS 6. For instance, Safari and Maps use a black status bar whereas Mail adds a blue tint to it.

Is it possible to set that tint color, or at least force it to black?

6
I'm going completely off memory, but I think iOS has always had this. It's set somewhere in your application's pList. - slugonamission
It has only been possible to set it to default or black color as far as I know. The blue color in the Mail app hasn't been available. - Anton
Sorry, but the iOS 6 SDK is still under NDA until it is available to non-paying app developers. - Dave DeLong
The iOS 5 SDK may still have methods for affecting the status bar color on iOS 6 in a way that's already demonstrated by Apple. I believe my question doesn't break the NDA and that an answer doesn't have to either. - Anton
I recommend you poke around inside your developer portal to find the answer to this one, and I'd take Dave's correct advice if I were you. He works for Apple after all. - Mick MacCallum

6 Answers

28
votes

You can do it from the plist like Comradsky mention or in xcode 4.5, they added an option for it in the project summary.

enter image description here

Update:

several people were confused by this answer. Just to clarify, you cannot set the status bar tint to any color you want. What is described above is only to change the status bar tint during launch and choose the iOS 6 default status bar color behavior (which picks the color of the bottom row of pixels from your navigation bar).

11
votes

I've just found how to do it !

  1. In your "Project Summary", in "Status Bar", set "Style" and "Tinting" to "Default.
  2. Then, jump into you xib or storyboard and add a UINavigationBar just below the status bar.
  3. Set the UINavigationBar "Style" to "Default" and select the "Tinting" of your choice.
  4. Run! :-)

If, like me, you don't want any UINavigationBar visible in your Interface, all you want to do is putting the UINavigationBar behind all the Objects, or set the "Alpha" to zero.

7
votes

You can do that in a tricky way..

  • In the Project Summary select Status Bar Style Black Transculent from the drop down menu.
  • In application: didFinishLaunchingWithOptions: enter the following line of code:

    self.window.backgroundColor = [UIColor greenColor]; //example color

It works fine for me.

2
votes

The tint color seems to be determined by the average color of the bottom pixel row of the app's header bar.

See here: http://www.cultofmac.com/173928/how-ios-6s-cool-new-adaptive-status-bar-works/

2
votes

It is very easy to do: just put up an UINavigationBar in your .xib/storyboard, make sure the style is default. then add a tint. no matter how many views, with different tinted UINavigationBar's, you have your status bar will change its color.

1
votes

There is no way in iOS 5. You can just change your bar style. In iOS 6 you can do it in the info.plist:

It is now possible to set status bar tint parameters in your app’s Info.plist file. You might do this to ensure that the status bar color matches the navigation bar color of your app during startup. To set the status bar tint, add the UIStatusBarTintParameters key to your Info.plist file. The value of this key is a dictionary with the appropriate values describing the navigation bar your app has at startup time. Inside the dictionary should be the UINavigationBar key, whose value is also a dictionary. That dictionary contains the initial navigation bar’s style (with the Style key) and whether it’s translucent (with the Translucent key). If your navigation bar uses them, you can also specify its tint color (with the TintColor key), or the name of its custom background image (with the BackgroundImage key).

Check out this link here Edit:You can also do this in the project summary.