【问题标题】:Is it possible to nest collection/table views in iOS?是否可以在 iOS 中嵌套集合/表格视图?
【发布时间】:2016-05-23 23:28:25
【问题描述】:

我有一个项目列表(蓝色),每个项目中都有一组子项目(黄色)。是否可以在 iOS 中使用集合和表格视图复制这种布局?

我打算将蓝色项目创建为带有自定义单元格的表格视图。然后在这个自定义单元格(蓝色)中,我将放置一个集合视图(黄色项目)。

  1. 这可能吗?
  2. 我为蓝色项目选择的表格视图和为黄色项目选择的集合视图是否正确?

查看图表

更具体地说,布局将如下所示,每个蓝色项目中的内容不同并且它们是可展开的,当项目展开时黄色项目变得可见。

【问题讨论】:

    标签: ios uitableview uicollectionview


    【解决方案1】:

    UICollectionViews 适用于黄色和蓝色。事实上,collectionviews 使用“sections”和“cells”来直观地组织你的数据。一个部分将是您的“项目组”之一,一个单元格将是一个“黄色方块”。您展示的布局应该很容易使用 UICollectionViewFLowLayoutDelegate 方法实现。只需按照 Apple 文档...

    https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/CollectionViewPGforIOS/CollectionViewBasics/CollectionViewBasics.html#//apple_ref/doc/uid/TP40012334-CH2-SW1

    【讨论】:

    • 尼克 我已经为我的问题添加了更多细节。我所追求的布局在我的新图表中得到了更好的解释。您认为您的建议仍然适用吗?
    • 是的。我这样做的方法是使用 UICollectionViewCell 的子类来实现 UICollectionView。如果你想有一个像箭头这样的特殊接触点,你必须使用 detailDisclosureView 并将其子类化并实现委托 touchandling 方法。 didSelect 方法可用于从您使用的任何数据模型将新的 UICollectionView 加载到单元格中。无论哪种方式,您都可以通过委托和子类化 UICollectionViewCell 来完成。
    【解决方案2】:

    我编写了一个集合视图子类,可以帮助您实现该布局:https://github.com/nazeehshoura/NExpandableCollectionView

    使用UICollectionElementKindSectionHeader 代表您的蓝色项目,使用UICollectionViewCell 代表您的黄色项目。 NExpandableCollectionView 会在点击相应的蓝色项目时展开并显示黄色项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多