我应该继承 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,则使用第二个单元格类型。
我有布局草图如下:-
上图,固定布局结构如下
-> 第一行有 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,则使用第二个单元格类型。