【问题标题】:UICollectionView isn't working when extendedLayoutIncludesOpaqueBars is set to true当 extendedLayoutIncludesOpaqueBars 设置为 true 时,UICollectionView 不起作用
【发布时间】:2016-03-14 13:35:03
【问题描述】:

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

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

}

UICollectionviewDelegate 和 DataSource 方法没有被调用,所以 UICollectionview 看起来是空的。即使我调用了重新加载数据,仍然没有调用 DataSource 方法。

当我删除最后一行时,一切正常,除了 viewController 下方有空间。

【问题讨论】:

    标签: ios swift uicollectionview


    【解决方案1】:

    edgesForExtendedLayout

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

    你需要设置这两个之一

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

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

    也许对你有帮助。

    【讨论】:

    • 我已经尝试过了,但没有帮助。只有 extendedLayoutIncludesOpaqueBars = false 会移除空格。
    猜你喜欢
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 2017-06-28
    相关资源
    最近更新 更多