我有UIViewController,它扩展了UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout。
override func viewDidLoad() {
super.viewDidLoad()
collectionView.delegate = self
collectionView.dataSource = self
self.extendedLayoutIncludesOpaqueBars = true
}
UICollectionviewDelegate和DataSource方法未被调用,因此UICollectionview似乎为空。即使我调用重载数据,DataSource方法仍然没有被调用。
当我删除最后一行时,除了viewController下面有空格外,一切正常。
答案 0 :(得分:0)
<强> edgesForExtendedLayout 强>
基本上,使用此属性可以设置视图的哪一侧 扩展到覆盖整个屏幕。想象一下,你推了一个 UIViewController转换成UINavigationController,当时的视图 视图控制器布局好了,它会从导航栏开始 结束,但此属性将设置视图的哪一侧(顶部,左侧, 可以扩展底部,右侧以填满整个屏幕。
您需要设置这两个中的一个
self.edgesForExtendedLayout = UIRectEdgeNone;
self.automaticallyAdjustsScrollViewInsets = NO;
OR
self.edgesForExtendedLayout = UIRectEdgeNone;
self.extendedLayoutIncludesOpaqueBars = YES;
可能会帮助你。