0

我有一个非常奇怪的错误,我似乎无法弄清楚。在 iOS 7 中的整个应用程序中,导航栏看起来完全符合我的要求(渐变背景,位于状态栏下方)。但是,当视频或 MFMailComposeViewController 以模态方式呈现,然后被关闭时,该视图堆栈的导航栏将恢复为 iOS 7 位于状态栏后面的方式,并且下方有一个额外的栏。如果该解释没有任何意义,这里是导航栏在(顶部)和之后(底部)呈现/关闭视频之前的图片:

导航栏图片

我已经为导航栏设置了应用程序范围的 UIAppearance 以及尝试在 viewWillAppear 中重新设置它无济于事。我还将edgesForExtendedLayout 设置为UIRectEdgeNone,在info.plist 中将statusBarStyle 设置为Black Opaque,并在info.plist 中将基于视图控制器的状态栏外观设置为NO。

有什么建议么?

谢谢,

-斯蒂芬

4

1 回答 1

0

我怀疑调用[self setNeedsStatusBarAppearanceUpdate];您的视图控制器的viewWillAppear方法将解决您的问题。但是您可能很久以前就解决了,因为我刚刚注意到您提出问题的日期:)

我发现这并不总是在所有情况下都能解决问题。对于我所看到的情况,似乎可以解决它的是:

添加视图控制器[self.view setNeedsLayout];viewWillAppear:方法。把它放进去viewDidAppear:没有用(不知道为什么 - 太晚了?)。

于 2014-05-12T19:29:49.843 回答