UICollectionview具有动态数据的自定义布局

时间:2019-10-14 13:31:08

标签: ios swift xcode uicollectionview uicollectionviewlayout

我有一个自定义的CollectionViewFlowLayout,其中包含通过REST API传递的数千个动态分页数据。

我已经实现了Raywenderlich's Pinterest like layout。如果您已经知道像元高度,那没关系。但是问题是,在我的数据中,图像大小和文本大小是完全动态的。

我正在尝试通过委托方法计算像元高度,但它没有按预期工作。

对于新ui CollectionView单元格,重新计算单元格属性的最佳性能方法是什么?

enter image description here

1 个答案:

答案 0 :(得分:0)

您需要转到单元格子类并像这样覆盖preferredLayoutAttributesFitting(_:)

override func preferredLayoutAttributesFitting(_ layoutAttributes: UICollectionViewLayoutAttributes) -> UICollectionViewLayoutAttributes {

                // Ensures that cell expands horizontally while adjusting itself vertically.
                let preferredSize = systemLayoutSizeFitting(layoutAttributes.size, withHorizontalFittingPriority: .required, verticalFittingPriority: .fittingSizeLevel)

                layoutAttributes.size = preferredSize
                return layoutAttributes
    }