如何根据swift 3中的集合视图高度动态增加表视图高度?

时间:2017-12-19 07:37:59

标签: ios uitableview swift3

这里我有一个如下所示的设计,其中我设计了除了最后一个单元格之外的所有单元格,在这个单元格中我有一个集合视图,我需要加载数据,这是分页所以如何为此给出高度集合视图高度根据我的数组计数动态增加时的单元格。任何人都可以帮助我动态地给出身高或任何建议/想法来实现这个?

鉴于以下结构:

  

TableView

     
    

表视图单元格

         

表视图单元格

         

TableViewCell

         
      

的CollectionView

             
        

CollectionViewCell

                 

CollectionViewCell

                 

CollectionViewCell

                 

[...可变数量的细胞或不同的细胞大小]

      
    
  

1 个答案:

答案 0 :(得分:8)

  1. 将表格视图行高设置为自动尺寸
    tableView.rowHeight = UITableViewAutomaticDimension tableView.estimatedRowHeight = 44

  2. collectionView内为tableViewCell的高度创建IBOutlet。在leading内为trailing设置topbottomcollectionViewtableViewCell约束。

  3. collectionView下创建tableViewCell的插座(如objCollectionView),并在cellForRowAt indexPath方法

    中添加以下代码
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    
            let cell = tableView.dequeueReusableCell(withIdentifier: "tableCell", for: indexPath) as! tableCell
            cell.frame = tableView.bounds
            cell.layoutIfNeeded()
            cell.objCollectionView.reloadData()
            cell.objCollectionViewHeightConstraint.constant = cell.objCollectionView.contentSize.height
            return cell;
    
    }
    
  4. 这将自动调整tableViewCell的高度,具体取决于其内容。