【问题标题】:Autolayout CollectionView自动布局集合视图
【发布时间】:2018-08-06 19:51:24
【问题描述】:

我正在尝试对 CollectionVIew 使用自动布局,但是当我在 iPhone plus 中运行它时,会在单元格之间创建一个空间。

iPhone 8 Plus

iPhone 8

【问题讨论】:

  • 如果您的单元格宽度不是屏幕的一半,就会发生这种情况。显示单元格的代码。
  • 你应该根据view.bounds.width计算单元格大小
  • @RakeshaShastri 单元格的代码很简单,我什么都不做,只是设置信息。
  • 展示你在那里做了什么。

标签: iphone swift uicollectionview autolayout


【解决方案1】:

我猜你已经从集合视图的委托方法中设置了单元格大小。您需要做的一件事是在集合视图的框架发生变化时调用invalidateLayout(),以便重新渲染单元格。

IE:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    collectionView.collectionViewLayout.invalidateLayout()
}

【讨论】:

    【解决方案2】:

    我通过在 ViewDidLoad 中设置单元格的大小来解决它(我只是设置了宽度,但你也可以设置高度)

    let layout = YourCollectionView.collectionViewLayout as? UICollectionViewFlowLayout
        layout?.estimatedItemSize = CGSize(width: view.bounds.width / 2 , height: 114)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      • 2017-05-22
      相关资源
      最近更新 更多