Tableview单元格没有动态调整高度

Posted

技术标签:

【中文标题】Tableview单元格没有动态调整高度【英文标题】:Tableview cell not dynamically sizing height 【发布时间】:2018-07-05 23:55:49 【问题描述】:

我的 TableViewCell 中有一个垂直 StackView,我设置了以下属性:

myTableView.estimatedRowHeight = 100.0
myTableView.rowHeight = UITableViewAutomaticDimension

但即使单元格中视图的总高度大于 100,单元格高度始终设置为 100。如何根据堆栈视图中的内容正确设置单元格大小。有时可能大于或小于 100。

我的单元格包含两个高度相等的堆栈视图,具有前导和顶部约束。它们被设置为按比例填充/填充(对齐/分布)

【问题讨论】:

你能展示你的约束是如何设置的吗? @skladek 是表格视图还是单元格本身?对不起 在单元格上。听起来您的单元格无法根据约束确定自己的高度。 @skladek 当然,更新了我的帖子 @Brejuro 这可能是您的问题。单元不知道它应该有多高,因为它没有得到足够的约束。请记住,视图需要被告知它们的位置和大小。您已通过设置前导、顶部和尾随约束为其指定位置。但是,它需要指定一个大小,设置底部约束即可。 【参考方案1】:

单元不知道它应该有多高,因为它没有得到足够的约束。请记住,视图需要被告知它们的位置和大小。您已通过设置前导、顶部和尾随约束为其指定位置。但是,它需要指定一个大小,设置底部约束即可。

由于您已将单元格设置为使用UITableViewAutomaticDimension,因此您的单元格应该可以扩展和收缩以适应您的内容。如果您的堆栈视图需要 1000 磅的高度来适应其内容,那么如果您将其限制在单元格内容视图的所有四个侧面,它就会知道有多高。如果它只需要 50 磅的高度来适应内容,那么单元格将缩小以适应只有 50 磅高的内容。如果您添加底部约束,您将获得该行为,因为您告诉表格视图让其单元格根据其内容调整大小。

【讨论】:

以上是关于Tableview单元格没有动态调整高度的主要内容,如果未能解决你的问题,请参考以下文章

UITableView:如何知道 TableView 的所有具有动态单元格高度的单元格何时被调整大小?

在tableview ios中使用UILabel的单元格的动态高度

TableView单元格内的TableView,自动调整单元格高度

高度调整到 TableView 单元格中的内容?

如何在 iOS 中创建具有动态 tableview 高度的动态 tableview 单元格

UITableViewCell内的UICollectionView如何根据屏幕大小调整tableview单元格高度