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

Vertically aligned Collection view cells with varying heights

我正在构建一个集合视图,每个单元格的宽度固定但高度不同。每个单元格内应该有 1 px 的边框。我试图找到一种使它们垂直对齐但最终在它们之间出现白色 space 的方法。还有一些时候,细胞最终会相互重叠。

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

我目前是这样设置尺寸的:

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

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

}

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