2015-12-21 151 views
0

我想让我的状态栏和半透明导航栏“统一”,这是iOS 7及以上版本的标准外观。不过,我有很多导航控制器,视图控制器和一个标签栏控制器,拥有所有的视图控制器等,一切都搞砸了。无论我尝试,我无法摆脱这个样子的:为什么状态栏与半透明导航栏混淆

enter image description here

状态栏不“合并”与导航栏。问题是不是的颜色,当状态栏文本是黑色时它仍然不合并。我试着将基于视图控制器的状态栏设置更改为两个值,无济于事。

我该如何让它们合并?

更新:我有一个很奇怪的观察。我试图尽我所能关于布局引导和约束,我已经尝试了viewWillAppear:去除顶部布局引导代码:

for (NSLayoutConstraint *constraint in self.view.constraints) { 
    if(constraint.firstItem == self.topLayoutGuide && constraint.secondItem == nil){ 
     //constraint.constant = -20; 
     [self.view removeConstraint:constraint]; 
     break; 
    } 
} 

突然,我的状态栏开始显示完全理所应当的,统一与状态酒吧。但是现在我的视图控制器中没有显示任何内容,显然,这不是一个解决方案。但它似乎确实与顶层布局指南有关。

+0

导航栏样式是否设置为亮? – ShahiM

+0

@ShahiM如果你的意思是状态栏的风格,是的。但正如我所说的,无论是轻量还是默认都不重要,只有文本颜色发生变化,而不是背景。 –

+0

您是否检查故事板是否在顶部酒吧下,在底部酒吧检查? – IOSCODER

回答

1

我刚刚想出了一切。我的“主控”控制器已将所有内容嵌入到嵌入式视图控制器中,并且它与顶部布局指南“0”的顶部间距相同。但是,它是20px,所以我将约束更改为“-20”。这看起来有点冒险,但它只是修复了一切,并没有搞砸任何东西。