如何根据内容动态调整 UICollectionViewCell 的高度?

How do I dynamically size UICollectionViewCell's height based on content?

执行此操作的过程是什么?

我发现了 sizeForItemAtIndexPath 但我不确定我用那个方法做了什么。我是否创建一个新的 UICollectionViewCell,添加我的内容,然后 return 该单元格的大小?

我需要打开自动布局并设置约束吗?如果已经回答了这个问题,我深表歉意。我一直在搜索 Whosebug,但还没有找到有效的解决方案。

您需要:

  1. 在单元格的 contentView 上设置自动布局约束,总而言之,将左边缘绑定到右边缘,将顶边缘绑定到底边缘。这就是单元格将如何表达它想要的大小。

  2. 实施sizeForItemAtIndexPath,因为您不会在每个单元格的基础上提供尺寸。

  3. 在您的 UICollectionViewFlowLayout 对象上将 estimatedItemSize 设置为某个相当大的值。

a repo with an example.