uicollectionview - 带标题的两列 UICollectionView

标签 uicollectionview uicollectionviewcell uicollectionviewlayout uicollectionreusableview

我有一个并排有两列的布局。有没有一种简单的方法可以使用单个 UICollectionView 来做到这一点?唯一的要求是该解决方案必须适用于 iOS 8,并且单元格必须在每列中垂直堆叠,如下所示:

   -----------------
   |       A       |
   |       B       |
   -----------------
   |   C   |   E   |
   |   C   |   F   |
   |   D   |       |
   |   E   |       |
   -----------------

堆叠的 C 表明左右列中的单元格可以具有不同的高度,因此仅将它们绘制为左、右、左、右是不够的。

最佳答案

这实际上非常简单,使用 UICollectionView与流布局。由于每个单元格都可以具有动态高度,因此您唯一需要的是每个单元格的宽度为 160(或集合 View 宽度的一半)。然后执行 collectionView:layout:sizeForItemAtIndexPath:以便每个项目都可以返回适当的高度。

由于每个单元格都有一个动态高度,因此您最终可能会得到一列比另一列长得多的列。如果您还想要相同的列高,那么您需要以这样的方式打乱列表的顺序,以便项目的前半部分的高度大约是另一半的高度。

enter image description here

关于uicollectionview - 带标题的两列 UICollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31463976/

相关文章:

ios - 修复导致 sigabort

ios - UICollectionViewFlowLayout 中的自定义动画 - 水平滚动方向

ios - Swift iOS 如何删除顶部填充 UICollectionView

ios - 使用 AutoLayout 使 UICollectionViewCell 的高度与其内容(所有 subview 的总高度)相匹配

ios - 延迟加载 UICollectionViewCell 的自定义 subview

swift - 连续包含不同项目的 Collectionview

ios - 如何在 2 个不同的 UICollectionViewFlowLayout 实例之间切换?

ios - Swift - 将 self.navigationController 调用到自定义单元类中

iOS 7 内容延伸到多个 UITableViewCells

ios - 减少 UICollectionView 中的项目间距