如何根据动态高度单元格设置 UITableView 的高度约束?

Posted

技术标签:

【中文标题】如何根据动态高度单元格设置 UITableView 的高度约束?【英文标题】:How to set height constraint of UITableView according to dynamic height cells? 【发布时间】:2016-05-17 08:17:15 【问题描述】:

例如,我有 TableView 并将其设置为 10.0 的初始约束。现在,我添加了 3 个不同高度大小的单元格(它们是自动布局单元格),例如,它们的大小是 (50.0, 120.0, 30.0)

我现在如何设置我的UITableView.heightConstraint = 50 + 120 + 30?

如何获取自动布局单元格大小?当我尝试打印它们的尺寸时,我得到初始尺寸(标准 44.0)

有什么想法吗?

【问题讨论】:

尝试从 viewDidAppear 获取单元格大小! @sam uitableview ? 【参考方案1】:

这个怎么样:

self.tableView.reloadData()
self.tableView.layoutIfNeeded() 
self.tableViewHeightConstraint.constant = self.tableView.contentSize.height

【讨论】:

太棒了!它可以工作,但首先我需要向下滚动并返回顶部以更新大小。我也可以解决这个问题吗? 没有得到你的问题。 你应该把这个放在viewWillAppear: 那是什么tableViewHeightConstraint【参考方案2】:

您可以动态计算 tableviewcell 高度.. 试试这个...

CGfloat height= [self.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height+2;

【讨论】:

以上是关于如何根据动态高度单元格设置 UITableView 的高度约束?的主要内容,如果未能解决你的问题,请参考以下文章

如何将UIImage设置为UITableView Cell,根据我在UILabel中输入的文本动态计算单元格高度?

UITableview 高度根据单元格设置

如何根据里面的单元格自动设置 UITableView 的高度?

UITableView:单击按钮时如何动态更改单元格高度?

如何根据自定义单元格内的 UILabel 设置单元格高度

具有动态单元格高度的 UITableView