如何创build具有2个或更多自定义单元格的自定义UICollectionView?

在我的项目中我想使用UICollectionView与自定义单元格,我创build与自定义单元格的集合视图,但我想在我的项目中使用不同大小的自定义单元格我遵循一些教程,但我没有得到它正确的,下面我附上示例我真正在寻找collections视图的屏幕截图。
示例图像 在这里输入图像说明

其中一种可能的创build方法是使用sizeForItemAtIndexPath ,然后返回Cell的大小。 这里有一些有用的链接在Github上正在做你想要的:

  1. RF被子布局
  2. 马赛克布局

和第一张图片一样,一些单元格有button,而另一些则没有。 为此,您将不得不创build自定义单元格,即一个带有button的自定义单元格,另一个不带button。 而在你的cellForItemAtIndexPath函数中,你可以用一些if-else条件来定义它们。

 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { if(firstCellConditionMet) { CustomCell1 *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CellIdentifier" forIndexPath:indexPath]; //Your code return cell; } else{ CustomCell2 *cell2 = [collectionView dequeueReusableCellWithReuseIdentifier:@"CellIdentifier2" forIndexPath:indexPath]; //Your Code return cell2; } } } 

这可以通过集合视图stream布局来实现。 您可以创build一个stream布局,该布局将处理不同的行以及连续有多less个元素。 在这里看一下Ray Wenderlich的教程。

如果这是你想要的

https://www.youtube.com/watch?v=LFBTbmvFR30

尝试使用自定义布局收集视图

https://github.com/bryceredd/RFQuiltLayout

这是准备好的决定,它很容易使用,如果有问题,将回答你,现在我做非常相似的集合…但在随机单元格大小的iPad >>>>

在这里输入图像说明

和最酷的,有了这个实现,你将能够使用一个类的所有单元格大小,如果你使用约束。 如果你有这个实现的问题,我可以给你我的testing项目。 祝你好运,兄弟。

我觉得这很容易。 你可以UICollectionViewFlowLayout