iOS 7 uinavigationbar外观问题

时间:2013-11-04 20:26:47

标签: ios objective-c ios7 uinavigationbar

我有一个非常奇怪的错误,我似乎无法弄明白。在我的iOS 7应用中,导航栏看起来就像我想要的那样(渐变背景,位于状态栏下方)。但是,当视频或MFMailComposeViewController以模态方式呈现,然后被解除时,该视图堆栈的导航栏将恢复为iOS 7方式,即位于状态栏后方,并且下方还有一个额外的栏。如果解释没有任何意义,这里是导航栏的图片(顶部)和之后(底部)视频被呈现/解散:

Navigation Bar Image

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

有什么建议吗?

谢谢,

-Stephen

1 个答案:

答案 0 :(得分:0)

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

我发现在所有情况下都没有解决问题。对于我所看到的案例,它似乎解决了这个问题:

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