UIModalViewController StatusBar背景色

时间:2014-04-18 10:41:13

标签: ios objective-c uinavigationbar statusbar

我使用宏颜色UINavigationBar设置appearance背景色调:

[[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x6DBEE8)];

在整个基于导航的应用程序中,但在我的UIModalViewController中不起作用:

plist我有:View controller-based status bar appearance : YES

并在全球范围内设置appearance[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

这就是它的样子: enter image description here

1 个答案:

答案 0 :(得分:1)

这是因为在iOS7中UINavigationBar的高度在UINavigationController中包含时会增加(64分)。状态栏是透明的,当您以模态方式呈现视图控制器时,它不在UINavigationController中,因此高度正常(44点),因此地图视图位于状态栏后面。您需要在模态视图控制器中处理此问题。你可以:

  • 完全隐藏状态栏(有效,但可能不是更好) 各种情况)
  • 在导航栏后面放置一个视图以及状态栏所在的位置 相同的背景颜色。
  • 将视图控制器视图本身的颜色更改为所需的颜色和 偏移地图视图的y位置以适应状态 酒吧的高度。