美文网首页
iOS开发中view被导航栏遮盖

iOS开发中view被导航栏遮盖

作者: 落叶兮兮 | 来源:发表于2020-07-13 17:46 被阅读0次

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

为了解决这个问题,可以有两种做法
1.设置edgesForExtendedLayout

//方法一,这种做法可以很好的实现我们想要的结果,只不过这样设置之后导航栏的颜色是默认的颜色,类似灰色,如果不是我们想要的,后面可以更改导航栏的颜色
self.edgesForExtendedLayout = UIRectEdgeNone; //view不需要拓展到整个屏幕

2.设置导航条的透明度

//方法二,这种方法也是我们经常使用的方法,这样设置为导航栏不透明,导航栏不会遮挡view,并且导航栏颜色表现为白色。
self.navigationController.navigationBar.translucent = NO;

相关文章

网友评论

      本文标题:iOS开发中view被导航栏遮盖

      本文链接:https://www.haomeiwen.com/subject/frkzcktx.html