TLDR;根据部分,我需要调整单元格的大小:
- 固定宽度但动态高度(例如,全屏宽度,根据内容自动高度)
- 动态宽度但固定高度(第一个单元格可以是 120pt 宽,第二个单元格可以是 155pt 宽,等等。)
这是我们需要清除任何可能存在的歧义的象形图。

我只是在寻找:“是的,您可以通过组合布局来实现这一点,这就是如何......”。或者“不,你不能用组合来实现这个,你必须使用流布局或其他一些自定义布局。”
几个额外的要求:
- 提议的解决方案不应该推荐使用collectionView(_:layout:sizeForItemAt:)与流布局,因为这是我们试图避免的事情。如果这就是答案,那么您可以简单地说 - “不,这无法通过组合布局实现”。
- 提议的解决方案应该让集合视图根据单元格的内在内容大小确定如何适当地放置单元格。这类似于使用 tableview 的动态自调整大小功能
UITableViewAutomaticDimension
背景资料:
- 很清楚如何使用组合布局实现全宽但动态高度的单元格。看到这个交流。
- 此处和此处记录了具有自动内容大小的流布局的已知限制。那就是写了一本O'Reilly 书的人。基本上他说没有真正的自动调整流布局,即使苹果声称有。因此寻求尝试用组合布局解决这个问题。