我有一个自定义CollectionViewFlowLayout,其中包含通过REST API生成的数千个动态分页数据。
我已经实现了Raywenderlich's Pinterest like layout。如果您已经知道像元高度,那没关系。但是问题是,在我的数据中,图像大小和文本大小是完全动态的。
我正在尝试通过委托方法计算像元高度,但它没有按预期工作。
另外,为新ui CollectionView单元格重新计算单元格属性的最佳性能方法是什么?
最佳答案
您需要转到您的单元格子类并覆盖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
}