在开发过程中用collectionView集合视图的时候,用navgationController跳转会出现导航栏掩盖部分内容现象,
这时候需要在viewDidLoad里面填写
<strong><span style="font-size:18px;">self.edgesForExtendedLayout = UIRectEdgeNone;</span></strong>
然后会发现下面也不能全部显示,总是需要往上拖一下才显示出来,但是一松手又会被遮住
这个时候需要设计整个collectionView的大小了
self.collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height-64)]
然后再运行会发现上下都正好合适
_____________________________________________________________________________________________________________________________________________
在iOS 7中,苹果引入了一个新的属性,叫做[UIViewController setEdgesForExtendedLayout:]
,它的默认值为UIRectEdgeAll
。当你的容器是navigation
controller时,默认的布局将从navigation bar的顶部开始。这就是为什么所有的UI元素都往上漂移了44pt。
修复这个问题的快速方法就是在方法- (void)viewDidLoad
中添加如下一行代码:
> |
|
这样问题就修复了。