具有不同高度的垂直对齐的集合视图单元格

Posted

技术标签:

【中文标题】具有不同高度的垂直对齐的集合视图单元格【英文标题】:Vertically aligned Collection view cells with varying heights 【发布时间】:2015-07-28 08:00:14 【问题描述】:

我正在构建一个集合视图,每个单元格都有固定的宽度但高度不同。每个单元格内应该有 1 px 的边框。我试图找到一种方法使它们垂直对齐,但最终在它们之间留下空白。有时,单元格最终会彼此重叠。

解决这个问题的最佳方法是什么。我考虑过子类化UICollectionViewFlowLayout

我目前正在设置这样的大小:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout,sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize 

    return CGSize(width: CGFloat(defaultCellSize), height: CGFloat(defaultCellSize * ratio))


【问题讨论】:

【参考方案1】:

尝试使用这个库https://github.com/chiahsien/CHTCollectionViewWaterfallLayout 它已经处理了所需的内容。

【讨论】:

看起来不错。仍然很想知道是否有一种干净简单的方法可以自己做! repo 还包含一个受流布局启发的委托,该委托非常易于实现。解决了我的问题!

以上是关于具有不同高度的垂直对齐的集合视图单元格的主要内容,如果未能解决你的问题,请参考以下文章

在具有自定义单元格高度的垂直 UICollectionView 上居中分页

集合视图具有多个部分的不同单元格高度

在水平滚动中具有不同高度到顶部的集合视图引脚单元格

给定具有多行标签的集合视图单元格的宽度,如何获得首选的 AutoLayout 高度?

iOS UICollectionView:具有交替网格对齐的圆形视图的单元格

集合视图单元格在顶部留下空间