When setStatusBarHidden:NO is set before the view loads, the UINavigationBar and other elements appear aligned immediately below the StatusBar as they should. However, when setStatusBarHidden:NO is set after the view loads, the UINavigationBar is partially covered.
The StatusBar must be revealed after loading the said view, but how can this be done without encountering the aforementioned problem?
I found a hack in a code of mine, though can’t remember or find where it came from. The trick is to refresh the navigation bar by hiding and reshowing it:
In my code the function looks like this:
However, BE WARNED, this is a hack, and currently I’m struggling with some bugs that appear to originate from this code (navigation item doesn’t match navigation content). But since it did work for me in some places, I’d thought I’d mention it.
Edit:
I think I found the initial post here:
How do I get the navigation bar in a UINavigationController to update its position when the status bar is hidden?
GL,
Oded