I'm trying to add a banner above the status bar when receiving an in-app push notification. From what I've been reading, it seems like the only way to dynamically change the status bar style in iOS 7 is to set UIViewControllerBasedStatusBarAppearance
to NO
. This is not only really annoying to have to change all my different view controllers prefersStatusBarHidden
to [UIApplication sharedApplication].statusBarHidden
, but it also doesn't give the effect I'm looking for.
When the banner slides from the top, I still want the 20 pts of space that the status bar provides to stay, but the status bar content to disappear until after the banner slides back up. Is there a way to either do this or add a subview or window above the status bar?
Basically I'm looking to do this:
Create a new window and add your banner view to that window. When you need to show the banner, you can set yourwindow.hidden = NO;
You can further add animations to showing it and to dismiss it yourwindow.hidden = YES;
.
The key here is is setting yourwindow.windowLevel = UIWindowLevelStatusBar+1;
That will make sure your banner view and the yourwindow
always appear above the status bar.
Feel free to ask questions regarding any of the above.