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))
}
}
我按照这个回答说的做了,但是没有用,为什么?
但是有一个问题,它没有调整大小我错过了什么
我也遇到了同样的问题,所以我采用了另一种方法。您需要添加宽度约束,并且需要在 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))
}
}