集合视图组合布局 - 动态布局
Posted
技术标签:
【中文标题】集合视图组合布局 - 动态布局【英文标题】:Collection View Compositional Layouts - Layout on the fly 【发布时间】:2020-02-28 20:27:48 【问题描述】:在看到精彩的Advances in Collection View Layout Session 之后,我想知道是否可以使用新的Collection View Compositional Layouts
框架中实现的功能来创建基于以前未知的单元格大小的布局。
我的问题:
想象一个有两个级别的水平图片库,照片可以是“垂直”或“水平”,应用会在需要显示时获取它们,并且它们是随机提供的(“水平”或“垂直”) .所以我们必须用“随机模式”(Pinterest 风格,here is how to do it with UICollectionViewFlowLayout
)填充画廊。
我看不到填充单元格的“组”模式,因为布局有无限的可能性,垂直划分可以出现创建组,但也不能。
是否可以使用Collection View Compositional Layouts
存档?
谢谢。
【问题讨论】:
你有没有得到任何地方?我正在尝试在垂直滚动方向上做类似的事情,但没有看到这样做的方法。 @BenjaminHall 和Collection View Compositional Layouts
我做不到。在问题中,您有一个教程链接,该链接介绍如何使用UICollectionViewFlowLayout
进行垂直布局。
【参考方案1】:
当您设置项目布局大小时,您可以使用estimated
布局尺寸使大小取决于其内容。因此,图像视图可以使用约束从内到外设置单元格大小。您在填充单元格时调整图像大小,取决于它是水平还是垂直,并且图像视图采用图像的大小,单元格采用图像视图的大小。
(如果您需要更多控制权,您可以将您的组构建为NSCollectionLayoutGroup.custom
,它允许您手动设置每个项目的框架。但是在这种简单的情况下不需要这样的极端,此外,假设您知道布局声明时的框架,你可能没有。)
【讨论】:
如何定义组?作为与组对应的单个图像?以上是关于集合视图组合布局 - 动态布局的主要内容,如果未能解决你的问题,请参考以下文章