【问题标题】:UIModalViewController StatusBar background colorUIModalViewController 状态栏背景颜色
【发布时间】:2014-04-18 10:41:12
【问题描述】:

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

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

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

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

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

这是它的样子:

【问题讨论】:

  • 尝试更改视图背景颜色 0x6DBEE8。它对我有用。如果我将视图背景颜色设置为黄色状态栏采用黄色
  • NavigationBar 的颜色正确,所以我认为更改颜色不起作用。
  • 我认为状态栏不取决于导航栏颜色,而是取决于附近的视图。如果状态栏附加到导航栏,则将状态栏颜色作为导航栏。这是我的经验。
  • 哦,你的意思是背景颜色,我误会了。是的,你是对的!

标签: ios objective-c uinavigationbar statusbar


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-26
    • 2015-06-01
    • 2019-11-20
    • 2018-04-10
    • 2016-10-16
    • 2015-10-09
    相关资源
    最近更新 更多