动态 UICollectionView 单元格高度

Posted

技术标签:

【中文标题】动态 UICollectionView 单元格高度【英文标题】:Dynamic UICollectionView Cell Height 【发布时间】:2019-11-29 11:35:01 【问题描述】:

我有一组不同高度的堆栈视图: [Stack View A, Stack View B, Stack View C, Stack View D]

我想在collectionView 中显示它们。每个stackView 进入不同的collectionView cell。我目前正在使用流布局根据集合viewController 中的视图设置高度。

是否可以将其抽象化,以便集合 vc 不需要了解它们的任何信息?我可以传递要在单元格中显示的视图,并且单元格的高度由堆栈视图的高度确定。类似于固有内容大小的东西,而不是在流布局委托sizeforitem 方法中设置它。

【问题讨论】:

你可以试试-> ***.com/questions/44187881/… 【参考方案1】:

您可以将 collectionView 的 Estimated Size 设置为“自动”以及单元格的大小,并且每个单元格将使用自动布局约束视图自行调整大小。

如 Xcode 11 发行说明中所述:

UICollectionView 中的单元格现在可以通过自动布局自行调整大小 画布中的受限视图。选择现有的行为 集合视图,为集合视图的启用“自动” 估计大小,以及“自动”从大小中获取单元格的大小 检查员。如果在 ios 13 之前部署,您可以激活自我调整大小 通过调用 performBatchUpdates(_:completion:) 收集视图单元格 在 viewDidLoad() 期间。 (45617083)

【讨论】:

如果这样做,是否需要使用集合视图流布局委托? 没有。确实,我对此感到好奇,并创建了一个示例代码,该示例代码在不扩展流布局委托的情况下实现了动态单元格的高度。您可以在github.com/valengo/dynamicCollectionViewCell/blob/master/… 上查看它,我想您可以享受改进它的乐趣! 谢谢安迪,我去看看

以上是关于动态 UICollectionView 单元格高度的主要内容,如果未能解决你的问题,请参考以下文章

UICollectionView 动态单元格高度(Pinterest 布局)

如何在 iOS 中动态更改 UICollectionView 单元格高度

动态 UICollectionView 单元格高度

具有动态高度和半宽的 UICollectionview 单元格

UICollectionView 单元格在swift中使用约束固定宽度和动态高度

如何在 Swift 中动态更改包含 UICollectionView 单元格的 UITableView 单元格的高度?