我应该继承 UICollectionViewLayout 或 UICollectionViewFlowLayout 什么

What should I subclass UICollectionViewLayout or UICollectionViewFlowLayout

我有布局草图如下:-

上图,固定布局结构如下

-> 第一行有 1 号项目,占据了集合视图的所有宽度。

->第二行有项目编号。 2 和 3 并平均共享宽度。

->从第三行开始,我们必须使用默认大小。

这里item1, item2-item3 和所有其他item分别有3种不同的设计。

collectionview 有 1 个部分,这里的数据源是简单的 nsarray。

所以我的问题是我应该使用什么?任何建议都会有所帮助,我是 UICollectionView 的新手,我发现它有点难以理解。

我认为您可以将 UICollectionViewFlowLayout 与具有两种不同 Cell Kind 的集合视图一起使用。不需要子类。如果您希望布局在横向模式下发生变化,这可能会变得棘手。

第一个单元格类型用于项目 1、2 和 3。您将通过实施 collectionView:sizeForItemAtIndexPath: 方法来实现不同的布局。只需确保索引 0(项目 1)为全角,索引 1、2(项目 2,3)为半角。

然后您可以为其他所有内容实现另一种单元格类型。这些项目也将是全宽的。

cellForRowAtIndexPath 中,您需要检查 indexPath 的项目 属性 以查看您是哪个索引。如果 > 2,则使用第二个单元格类型。