【问题标题】:UICollectionView inside UICollectionViewCellUICollectionViewCell里面的UICollectionView
【发布时间】:2016-11-28 14:23:43
【问题描述】:

我正在努力寻找一种方法来做这样的事情: 我主要使用 UICollectionView 来制作我的自定义列表。这次我想在 UICollectionViewCell 中添加另一个 UICollectionView。 布局由卡片列表组成,包含以下信息,其中包含来自同一数组的项目列表。

我应该如何做到这一点的任何想法?

P.S:我不关心性能或类似的事情。所以任何想法都会受到欢迎。

【问题讨论】:

  • 我建议将其用作表格视图。它应该包含两个部分:“pedido criado em”第一部分的标题,在它下面,四个单元格是相同的类型,“itens do pedido”是第二部分的标题,最后两个可口可乐和芬达是同一类型的细胞。
  • 正如 Ahmad 所说,这是一个包含多个部分的 tableView。每个部分都应该根据您的需要进行定制
  • 但问题是有多个“卡”,每张卡都有这个相关信息和项目列表

标签: ios swift xcode uicollectionview


【解决方案1】:

对于您的情况,我看到了一些解决方案:

  • 仅使用一个UICollectionView 并重复使用所需的单元格以正确布局;
  • UICollectionViewCell 中使用“UICollectionView”。您需要在其中一个单元格中添加另一个集合视图作为子视图;
  • 在您的UICollectionViewCell 中配置子视图,以便正确显示所需的内容。

在我看来,您可以根据内容的布局和可能的动态高度(如果您的应用需要)选择第一种或最后一种方法。

【讨论】:

  • 我正在考虑在 numberOfItemsInSection 中返回 items.count + 1 并检查 indexpath.row 是否 >= items.count 我将在最后一个单元格中“subview” UICollectionView 单元格以显示项目列表(它们在同一个数组中),但我不知道我该怎么做
  • 您有数据模型吗?你有哪种数据结构?
  • 我有一个 UICollectionViewCell 和我的“卡片”的前四个元素链接到它们。这是迄今为止我能做的最好的事情
【解决方案2】:

我设法以另一种方式做到了这一点。我没有在另一个中嵌入 UICollectionView,而是遍历元素数组并在标签上方创建子视图。

if let item = info["PRODUTOSITENS"] as? [[String:Any]] {
          for produto in item {
            // All the business logic
                          let DynamicView = UIView(frame: CGRect(x:Double(cell.status.frame.origin.x), y:y, width:Double(collectionView.frame.size.width - 20.0), height:80.0))
            cell.addSubview(DynamicView)
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多