2013-11-04 43 views
0

我有一个非常奇怪的错误,我似乎无法弄清楚。在整个iOS 7应用程序中,导航栏看起来完全如何(渐变背景,位于状态栏下方)。但是,当视频或MFMailComposeViewController以模态方式呈现时,随后被解散,该视图堆栈的导航栏将恢复为坐在状态栏后面的iOS 7方式,并且下方还有一个额外的栏。如果这种解释没有任何意义,这里是导航栏的前(上图)的照片和后(下)的视频呈现/驳回:iOS 7 uinavigationbar外观问题

Navigation Bar Image

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

有什么建议吗?

感谢,

-Stephen

回答

0

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

我发现这并不总是解决所有情况下的问题。什么似乎解决它的案件我看到的是:

add [self.view setNeedsLayout]; in viewWillAppear:您的视图控制器的方法。把它放在viewDidAppear:不起作用(不知道为什么 - 太迟了?)。