在状态栏iOS 7上添加UIView横幅
我正在尝试在收到应用内推送通知时在状态栏上添加横幅。 从我一直在阅读,似乎dynamic更改iOS 7中的状态栏风格的唯一方法是将UIViewControllerBasedStatusBarAppearance
设置为NO
。 这不仅是真的很烦人,必须改变我所有不同的视图控制器prefersStatusBarHidden
到[UIApplication sharedApplication].statusBarHidden
,但它也没有给我所期待的效果。
当横幅从顶部滑动时,我仍然希望状态栏提供的20点空间停留,但状态栏内容消失,直到横幅滑回。 有没有办法做到这一点或在状态栏上方添加子视图或窗口?
基本上我正在寻找这样做:
创build一个新窗口,并将横幅视图添加到该窗口。 当你需要显示横幅时,可以设置yourwindow.hidden = NO;
您可以进一步添加animation来显示它并closures它yourwindow.hidden = YES;
。
这里的关键是设置yourwindow.windowLevel = UIWindowLevelStatusBar+1;
这将确保您的横幅视图和您的yourwindow
始终显示在状态栏之上。
随意提出有关上述任何问题。
把你的视图控制器上面的状态栏:
[[[[UIApplication sharedApplication] delegate] window] setWindowLevel:UIWindowLevelStatusBar+1];
把你的视图控制器放在状态栏后面:
[[[[UIApplication sharedApplication] delegate] window] setWindowLevel:UIWindowLevelNormal];