【问题标题】:Can i change the number of cells in collectionView based on the tableView Section iOS Swift?我可以根据 tableView Section iOS Swift 更改 collectionView 中的单元格数量吗?
【发布时间】:2018-06-12 07:38:44
【问题描述】:

我有 2 个数组

var list3:Array< String > = Array < String >()
var list4:Array< String > = Array < String >()

如果tableview Section为0,我需要返回list 3的计数

如果 tableview Section 是 4,我需要返回列表 4 的计数

我该怎么做?

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        switch(section){
             case 0 : return list3.count
             case 1 : return list4.count
             default : return 0
          }
    }

它不工作......

【问题讨论】:

  • collectionView在TableViewCell里面吗?
  • 是的,它在表格视图单元格内
  • 你在numberOfItemsInSection 中所做的事情是,如果collectionView 部分为0,则返回list3 项计数,如果部分为1,则返回list4 项计数。tableView 在这里?这与 collectionView 有什么关系?你不工作是什么意思?预期和正在发生什么?
  • 我有一个表格视图......在里面,我有 3 种类型的自定义 tavleView 单元格。其中...一个表格单元格包含一个集合视图....我需要的是加载具有不同数量的集合视图单元格的表格视图单元格
  • 这是在 obj-c 中,但如果你喜欢,你也可以查看我的 github 存储库:github.com/vnchopra/CustomCellTabledCollectionView

标签: ios swift collectionview


【解决方案1】:

在 UITableViewController 的覆盖函数中,当您创建 UITableViewCell 时,您将从 indexPath 中获取部分和行,您将在单元格内设置您的集合视图

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
  let cell = ...
  if(indexPath.row == 3 && indexPath.section == 1){
     cell.numberOfCells = 123
   }
  }

【讨论】:

  • 如何使用这个 numberOfCells 值?
  • 您将在 tableViewCell 类中有一个变量,例如 var numberOfcells:Int?当您在视图集合中初始化单元格时,您将返回 numberOfcells ? 0
【解决方案2】:

阅读您的问题以及一些 cmets 和您的答案,我的理解是:

你有一个表格视图;在该表视图中,表视图单元(TVC)之一有一个集合视图。根据这个 TVC 是在第 0 节还是第 1 节,您需要确定集合视图的元素数量。

您可以通过以下方式实现:

  • 将集合视图的标记值设置为适当的节号 当您创建 TVC 时。
  • 然后基于这个标签,你可以 决定是否使用 list3 或 list4 填充集合视图。
  • 如果我对您的问题的理解和建议的解决方案看起来不错 并且您需要代码 sn-p,请告诉我,我会添加它。谢谢。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-02
  • 1970-01-01
  • 2021-07-15
  • 1970-01-01
  • 2021-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多