Collection View 动态尺寸

Collection View Dynamic size (DID THE FOLLOWING BUT DIDNOT WORK)

我按照这个回答说的做了,但是没有用,为什么?

但是有一个问题,它没有调整大小我错过了什么

我也遇到了同样的问题,所以我采用了另一种方法。您需要添加宽度约束,并且需要在 systemLayoutSizeFitting 函数中将其设置为常量。

你应该注意的主要事情是将所有子视图添加到单元格的 contentView 并且最后一个子视图必须像 autoResizing TableViewCell 一样限制到 contentView 的底部

class ABCCell: UICollectionViewCell {

lazy var width: NSLayoutConstraint = {
    let width = contentView.widthAnchor.constraint(equalToConstant: bounds.size.width)
    width.isActive = true
    return width
}()

override func systemLayoutSizeFitting(_ targetSize: CGSize, withHorizontalFittingPriority horizontalFittingPriority: UILayoutPriority, verticalFittingPriority: UILayoutPriority) -> CGSize {
    width.constant = bounds.size.width
    return contentView.systemLayoutSizeFitting(CGSize(width: targetSize.width, height: 1))
}
}