UINavigationBar隐藏在statusBar下

时间:2016-06-21 07:36:47

标签: ios objective-c uinavigationbar uistatusbar

在某些UIViewController中,UINavigationBar隐藏在状态栏下。这是截图:

<code>UINavigationBar</code> under StatusBar

但是,当我将View controller-based status bar appearance更改为YES时,UINavigationBar看起来很完美。这是截图:

black text in <code>UIStatusBar</code>

但在这种情况下,textColor的{​​{1}}会从白色变为黑色。我想要状态栏的白色文本颜色,并从状态栏取消隐藏status bar。有没有办法解决它(状态栏的白色和取消隐藏UINavigationBar)。

提前致谢!

3 个答案:

答案 0 :(得分:2)

您始终可以在viewWillAppear(动画:Bool)中手动设置导航栏的原点

self.navigationController?.navigationBar.frame.origin = CGPoint(0, 20)

答案 1 :(得分:1)

将这些密钥添加到您的项目Info.plist,您应该没问题。

<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

答案 2 :(得分:0)

在Appdelegate和info.plist中添加此代码

info.Plist中的

View controller-based status bar appearance to NO

在Appdelegate中

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];