当extendedLayoutIncludesOpaqueBars设置为true时,UICollectionView不起作用

时间:2015-12-09 10:11:32

标签: ios swift uicollectionview

我有UIViewController,它扩展了UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout。

override func viewDidLoad() {
    super.viewDidLoad()
    collectionView.delegate = self
    collectionView.dataSource = self
    self.extendedLayoutIncludesOpaqueBars = true

}

UICollectionviewDelegate和DataSource方法未被调用,因此UICollectionview似乎为空。即使我调用重载数据,DataSource方法仍然没有被调用。

当我删除最后一行时,除了viewController下面有空格外,一切正常。

1 个答案:

答案 0 :(得分:0)

<强> edgesForExtendedLayout

  

基本上,使用此属性可以设置视图的哪一侧   扩展到覆盖整个屏幕。想象一下,你推了一个   UIViewController转换成UINavigationController,当时的视图   视图控制器布局好了,它会从导航栏开始   结束,但此属性将设置视图的哪一侧(顶部,左侧,   可以扩展底部,右侧以填满整个屏幕。

您需要设置这两个中的一个

self.edgesForExtendedLayout = UIRectEdgeNone;
self.automaticallyAdjustsScrollViewInsets = NO;

OR

self.edgesForExtendedLayout = UIRectEdgeNone;
self.extendedLayoutIncludesOpaqueBars = YES;

可能会帮助你。