iOS 7状态栏使用ViewController与NavigationBar碰撞

时间:2014-04-18 08:31:55

标签: ios uinavigationcontroller uinavigationbar ios7-statusbar

我是iOS开发的初学者。目前我已将ios5代码迁移到ios7。

在我的代码中遇到以下重叠问题:http://s17.postimg.org/90m7mx5lb/collide.png

我已使用以下代码更新了应用代理:

self.window.frame =  CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);

接口等是直接通过ViewController代码生成的,而不是使用Interface Builder或StoryBuilder。

请建议..

更新

在所有viewcontroller中使用以下内容

UIImage *stretchImage=[UIImage imageNamed:kNavigationBg]; stretchImage=[stretchImage stretchableImageWithLeftCapWidth:1 topCapHeight:0]; [self.navigationController.navigationBar setBackgroundImage:stretchImage forBarMetrics:UIBarMetricsDefault];

3 个答案:

答案 0 :(得分:0)

在故事板中选择每个ViewController,勾选两个选项"在顶部栏和#34; ,"在瓶子下"

enter image description here

以编程方式,

self.edgesForExtendedLayout = UIRectEdgeNone;

答案 1 :(得分:0)

将基于视图控制器的状态栏外观设置为ur plist中的NO。

答案 2 :(得分:0)

你应该添加

if(IS_IOS7)
{
    self.edgesForExtendedLayout=UIRectEdgeNone;
}