ios - 在状态栏上方添加 UIView 横幅 iOS 7

标签 ios objective-c ios7 ios7-statusbar

我正在尝试在收到应用内推送通知时在状态栏上方添加横幅。从我一直在阅读的内容来看,似乎在 iOS 7 中动态更改状态栏样式的唯一方法是将 UIViewControllerBasedStatusBarAppearance 设置为 NO。这不仅真的很烦人,必须将我所有不同的 View Controller prefersStatusBarHidden 更改为 [UIApplication sharedApplication].statusBarHidden,而且它也没有给我带来效果寻找。

当横幅从顶部滑动时,我仍然希望状态栏提供的 20 pts 空间保留,但状态栏内容消失,直到横幅滑回。有没有办法做到这一点或在状态栏上方添加 subview 或窗口?

基本上我正在寻找这样做:

Facebook Messenger push banner

最佳答案

将 View Controller 放在状态栏上方:

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

将 View Controller 放在状态栏后面:

[[[[UIApplication sharedApplication] delegate] window] setWindowLevel:UIWindowLevelNormal];

关于ios - 在状态栏上方添加 UIView 横幅 iOS 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22241412/

相关文章:

ios - 在 Unity 中为 Iphone X 设计人像游戏

ios - 使用代理服务器的 UIWebView 应用程序

ios - UICollectionView 在边界更改时使布局无效

objective-c - videoMinFrameDuration 已弃用

ios - UIProgressView如何使其循环

iOS 触摸返回通话

objective-c - 用户滚动时如何使右侧/腿部的图像居中

ios - NSLayoutConstraint.constraintsWithVisualFormat 在 Swift 2.0 中的 options 参数中传递 nil

iOS7 风格的 push segue,从左到右

uiscrollview - Xcode 5 iOS 7 - UIScrollView 行为异常