如何在 swift 中为集合视图单元格设置动态高度?

how can i set a dynamic height to collection view cell in swift?

大家好,我正在寻找一种允许在我的 collectionViewCell 中动态设置高度的工作方法,因为我尝试了各种其他答案但没有成功。

我的情况非常简单,我有一个带有图像的单元格、一个显示用户名的 UIlabel 和一个包含一些文本的 UILabel。这是 post 的常见评论单元格。 My Screen

我试过这个方法,但它并不准确,因为与必要的高度相比,高度太大了

private func estimatedFrameForText(text: String) -> CGRect {
    let size = CGSize(width: 270, height: 80)
    let options = NSStringDrawingOptions.usesFontLeading.union(.usesLineFragmentOrigin)

    return NSString(string: text).boundingRect(with: size, options: options, attributes: [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 17)], context: nil)
}

所以我的问题是:有一种正确的方法可以在集合视图单元格上实现动态大小,例如布局属性 wrap_content for Android?

更新

我使用集合视图上的约束和自动估计大小解决了我的问题。设置所有约束,我强制 LABE1 的宽度等于单元格宽度,对于高度,我将 UILabel 的顶部和底部间距(第 0 行)设置为等于其内容视图(UiCollectionViewCell 的一个标准)

将集合视图单元格的大小设置为自动也很重要 VIEW IMAGE