【问题标题】:How to create customized UICollectionView with 2 or more custom cells?如何使用 2 个或更多自定义单元格创建自定义 UICollectionView?
【发布时间】:2015-10-22 06:39:10
【问题描述】:

在我的项目中,我想将UICollectionView 与自定义单元格一起使用,我使用自定义单元格创建了集合视图,但我想在我的项目中使用不同大小的自定义单元格我遵循了一些教程,但我没有正确理解它,下面我附上了我真正寻找的收藏视图的示例屏幕截图。

【问题讨论】:

标签: ios objective-c ipad collectionview


【解决方案1】:

一种可能的创建方法是使用sizeForItemAtIndexPath,然后返回Cell 的大小。以下是 Github 上的一些有用链接,它们正是您想要的:

  1. RF Quilt Layout
  2. Mosaic Layout

与第一张图片一样,一些单元格有按钮,而另一些则没有。为此,您必须创建自定义单元格,即一个带有按钮的自定义单元格和一个没有按钮的自定义单元格。在您的 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;
        }
    }
}

【讨论】:

  • 谢谢@Munahil,我会努力的:)
  • 检查第一个屏幕截图,他们添加了单独的按钮,我如何在 collectionview 中添加这些东西
  • 我认为这足以满足要求。
  • 我仍然对如何使用自定义单元格应用 RF 被子布局或马赛克布局或瀑布布局感到困惑?
  • 你有什么困惑?
【解决方案2】:

这可以通过Collection View Flow Layout来实现。您可以创建一个流布局,该布局将处理不同的行以及一行中有多少个元素。看看 Ray Wenderlich 的教程here

【讨论】:

    【解决方案3】:

    如果是你想要的

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

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

    https://github.com/bryceredd/RFQuiltLayout

    这是现成的决定,它很容易使用,如果有问题,会回答你,现在我做了非常相似的收集...但在 iPad 上随机单元格大小>>>>

    最酷的是,通过这种实现,如果您使用约束,您将能够对所有单元格大小使用一个类。如果您对此认识有疑问,我可以给您我的测试项目。 祝兄弟好运。

    【讨论】:

      【解决方案4】:

      我认为这很容易。你可以继承UICollectionViewFlowLayout

      【讨论】:

      • 你能进一步解释一下如何做到这一点吗? SO 通常也鼓励清晰的语法,因为这里有很多非英语母语的人,如果我们都尽可能清楚地表达,他们更容易理解。也只是因为它使网站更容易理解,因此更有用。
      • 你能给我解释一下吗@sixleaves
      猜你喜欢
      • 2017-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多