如何快速为收集视图单元格设置动态高度?

时间:2020-07-02 17:55:03

标签: swift layout uikit uicollectionviewcell

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

我的情况很简单,我有一个带有图像的单元格,一个显示用户名的UIlabel和一个包含一些文本的UILabel。这是帖子的常用评论单元。 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)
}

所以我的问题是:在Android版的布局属性 wrap_content 之类的集合视图单元中,有一种正确的方法来实现动态尺寸吗?

1 个答案:

答案 0 :(得分:0)

更新

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

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