添加了一个导航条之后,view被导航条给覆盖了,并没有从导航条的下面开始。在iOS 7中,UIViewController引入了一个新的属性:edgesForExtendedLayout。 这个属性的默认值是UIRectEdgeAll。当你的容器是UINavigationController的时候,默认的布局就是从状态栏的顶部开始的。这就是为什么你设置的控件都往上漂移的原因。

这里写图片描述

有两种方法解决这个问题:

###1、设置edgesForExtendedLayout

    self.edgesForExtendedLayout = UIRectEdgeNone; //view不需要拓展到整个屏幕

###2、设置导航条的透明度

self.navigationController.navigationBar.translucent = NO;

这里写图片描述

Logo

云原生社区为您提供最前沿的新闻资讯和知识内容

更多推荐