Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add UIView banner above status bar iOS 7

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:

Facebook Messenger push banner

like image 513
Mike V Avatar asked Sep 11 '25 05:09

Mike V


1 Answers

To put your view controller above status bar:

[[[[UIApplication sharedApplication] delegate] window] setWindowLevel:UIWindowLevelStatusBar+1];

To put your view controller behind status bar:

[[[[UIApplication sharedApplication] delegate] window] setWindowLevel:UIWindowLevelNormal];
like image 158
Nico Avatar answered Sep 12 '25 18:09

Nico