如何布局单行集合视图?

Posted

技术标签:

【中文标题】如何布局单行集合视图?【英文标题】:How to layout single row collection view? 【发布时间】:2017-01-19 20:26:25 【问题描述】:

我有一个自定义集合视图单元格笔尖,大小为 200 x 200。我想在我的集合视图中使用此自定义单元格布局单行。我知道如何布局多行,但在保持笔尖大小的同时无法让单行工作!我怎样才能做到这一点?谢谢!

这是我的代码

let layout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout
    let itemsPerRow: CGFloat = 1.0
    let paddingSpace: CGFloat = 2.0 * itemsPerRow
    let availableHeight = containerView.frame.width - paddingSpace
    let widthPerItem = availableHeight / itemsPerRow
    layout.minimumLineSpacing = 4.0
    layout.itemSize = CGSize(width: widthPerItem, height: widthPerItem)

【问题讨论】:

【参考方案1】:

尝试将minimumInterItemSpacing 设置为某个大数字

layout.minimumInterItemSpacing = CGFloat_Max;

【讨论】:

【参考方案2】:

只需使用您的“硬编码”大小在单元格内创建一个子视图,然后将 cell.contentView backgroundcolor 设置为您喜欢的任何值。

然后在collectionView itemsize 中设置 itemsize collectionView.frame.size.width

这样你就得到了一个全宽的单元格,只有一行,单元格内的子视图将具有你需要的任何大小/布局。

【讨论】:

以上是关于如何布局单行集合视图?的主要内容,如果未能解决你的问题,请参考以下文章

滚动圆形布局集合视图

iOS - 实现自定义集合视图布局

如何通过自动布局设置集合视图单元格大小

如何使用交错布局(或任何其他建议)在 android studio 的视图中制作图像集合

自动布局和集合视图问题

如何使用故事板中定义的单元格计算集合视图单元格高度?