iOS 6导航栏位于状态栏下方

时间:2014-04-30 09:25:50

标签: ios objective-c

所以即时编写一个需要支持ios 6和7的应用程序,app在iOS 7中看起来不错,但在iOS 6上出于某种原因,导航栏位于状态栏下方,我不明白为什么。它发生在我的所有屏幕上

enter image description here

我已经尝试将状态栏设置为不透明,但我尝试过的所有内容仍然保持半透明状态,我认为可能让它不透明会让它向下移动(我宁愿保持半透明)

运行Xcode 5.1.1

我已经实现了自己的导航控制器,但它只是设置了self.navigationBar.tintColor = THEME_COLOUR;(在iOS 7中还有其他一些东西,但在这里没有执行)

在故事板中,我在“顶部栏杆下”未被攻击,并且我已经弄乱了UINavigation栏外观属性,似乎没有任何影响它

1 个答案:

答案 0 :(得分:1)

所以我不知道为什么,但我通过在我的根视图控制器中手动移动导航栏来解决问题,如下所示:

if( ! IS_OS_7_OR_LATER){

    CGRect navFrame = self.navigationController.navigationBar.frame;
    navFrame.origin.y += 20;
    self.navigationController.navigationBar.frame = navFrame;
}

它似乎与我的登录视图有一个隐藏的导航栏,然后我的根视图取消隐藏导航栏,但我不确定究竟是什么。但幸运的是我只需要在根视图中使用该代码,它似乎会影响所有后续视图(可能是因为在故事板中推断出状态栏和导航栏)