我有一个非常奇怪的错误,我似乎无法弄明白。在我的iOS 7应用中,导航栏看起来就像我想要的那样(渐变背景,位于状态栏下方)。但是,当视频或MFMailComposeViewController以模态方式呈现,然后被解除时,该视图堆栈的导航栏将恢复为iOS 7方式,即位于状态栏后方,并且下方还有一个额外的栏。如果解释没有任何意义,这里是导航栏的图片(顶部)和之后(底部)视频被呈现/解散:
我在应用程序范围内为导航栏设置了UIAppearance,并尝试在viewWillAppear中重新设置它,但无济于事。我还将edgesForExtendedLayout设置为UIRectEdgeNone,在info.plist中将statusBarStyle设置为Black Opaque,并在info.plist中将基于View控制器的状态栏外观设置为NO。
有什么建议吗?
谢谢,
-Stephen
答案 0 :(得分:0)
我怀疑在视图控制器的[self setNeedsStatusBarAppearanceUpdate];
方法中调用viewWillAppear
可以解决您的问题。但是你很久以前就解决了这个问题,因为我刚刚注意到你的问题的日期:)
我发现在所有情况下都没有解决问题。对于我所看到的案例,它似乎解决了这个问题:
在视图控制器的[self.view setNeedsLayout];
方法中添加viewWillAppear:
。把它放在viewDidAppear:
没有用(不知道为什么 - 太迟了?)。