I have an tabbed bar application and the status bar tint colour is set to default - so it is always my selected blue colour throughout my app.
However, in one view, I am hiding my Navigation Bar like so:
[self.navigationController setNavigationBarHidden:YES];
This is in the viewWillAppear
method and the view is accessible as it is one of the tabs of my app.
The reason I am hiding it, is because I would like to put a toolbar (with about 6 buttons) in its place.
I have set the tint colour of my toolbar, however, the status bar on this view is always black. Is there a way to re-set the status bar for this view, or is there a better way to hide the navigation bar in order to retain the status bar tint colour.
UPDATE I read somewhere that when tinting is set to default, the colour of the status bar will be the colour of the lowest pixel in the header.
I have tried hiding the navigation bar in storyboards and have also tried changing the tint colour to 'Custom' but this also had no effect.
These two screenshots might illustrate my issue. Toggling the navigation bar changes the status bar colour. This is the navigation controller which the view in question is embedded in.
Ahh!!! I have a working solution... albeit a very dirty and makeshift solution.
Shows Navigation Bar
).Alpha
to 0 and uncheckUser Interaction Enabled
- DO NOT MAKE HIDDENMake sure the Navigation Bar is on the top - as shown in following image.
This way your status bar will pick up the correct colour without showing a Navigation Bar.
Hopefully a more resilient/nicer way to do this will be in a recent Xcode update.
Top Tip: To make a toolbar look like a navigation bar:
If you are using iOS 6.0, you can set status bar color through plist file. See - How to set status bar tint color on iOS 6?
[EDIT]
It seems in iOS 6 the status bar color is automatically determined by the navigation bar color. Before hiding navigation bar can you set the color of navigation bar to your default and see if that makes any difference.