如何根据swift 3中的集合视图高度动态增加表格视图高度?
Posted
技术标签:
【中文标题】如何根据swift 3中的集合视图高度动态增加表格视图高度?【英文标题】:how to increase table view height dynamically according to collection view height in swift 3? 【发布时间】:2017-12-19 07:37:59 【问题描述】:在这里,我有一个如下所示的设计,其中我设计了除最后一个单元格之外的所有单元格,其中它有一个集合视图,我需要在其中加载数据并且这是有分页的,所以如何为此指定高度当集合视图高度根据我的数组计数动态增加时的单元格。谁能帮助我如何动态给出高度或任何建议/想法来实现这个?
给定以下结构:
表格视图
表格视图单元格
表格视图单元格
TableViewCell
集合视图
CollectionViewCell
CollectionViewCell
CollectionViewCell
[...可变数量的单元格或不同的单元格大小]
【问题讨论】:
试试self.tableView.rowHeight = UITableViewAutomaticDimension; self.tableView.estimatedRowHeight = 44.0; // set average estimated height
但是集合视图增加了表格视图单元格高度的了解方式,正如你所说的@Priya
将所有必需的约束添加到tableview单元格内的集合视图中,它将根据内容自动增加其高度。
你有没有通过嵌入集合视图给表格视图单元格提供约束来检查它不会增加表格视图单元格的高度@Priya
【参考方案1】:
将表格视图行高设置为自动尺寸tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 44
在tableViewCell
内为collectionView
的高度创建IBOutlet。在collectionView
内为collectionView
设置leading
、trailing
、top
、bottom
约束。
在tableViewCell
下为collectionView
创建 outlet(如 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;
这会根据内容自动调整tableViewCell
的高度。
【讨论】:
我需要为表格视图单元格内的集合视图实现分页是否可能? 是的,它也可以进行分页 collectionView 的滚动方向是什么 垂直方向 你面临的问题是什么?以上是关于如何根据swift 3中的集合视图高度动态增加表格视图高度?的主要内容,如果未能解决你的问题,请参考以下文章
使用Objective C增加单元格数量时如何动态增加UITableView高度?