我们有两个(第一个标签动态高度)标签和一个在 UITableview 中,我们的图像大小静态假设为 120*70
我们正在设置图像单元格 super View 的底部约束,但是当标签内容高度大于图像高度时,第二个标签会自动进入单元格。
我们正在使用 UITableViewAutomaticDimension
这里我们混淆了对标签设置约束,如何按比例设置标签和图像的高度。
如果我们尝试对标签进行底部约束并固定图像的高度和宽度,那么单元格底部会出现空白。
我的单元格设计如下图所示:
使用以下约束检查我的输出
输出:
约束图像:
最佳答案
您可以通过为底部标签和 ImageView 设置大于或等于底部约束来轻松做到这一点。
首先,请确保您使用的是:
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 100
因此单元格/行将自动调整大小以适合内容。
对于单元格原型(prototype),我有(背景颜色以便我们可以看到框架):
- 多行标签约束前
8
和前导8
(来自父 View ,不使用边距) - Image View constrained Top
8
和 Trailing0
(来自 super View ,不使用边距)和宽度119
高度87
(基于您发布的图片) - 1 行标签约束前导和尾随多行标签,前
4
多行标签 - 多行标签也被限制在 ImageView 的尾部
8
现在关键是接下来的两个约束...
- 将
>= 8
处的 1 行标签的底部限制到父 View 的底部 - 在
>= 8
处将 ImageView 的底部也限制到父 View 的底部
现在,单元格高度将自动扩展以适应更高的元素:
以及没有彩色背景时的外观:
完整的项目可以在这里找到:https://github.com/DonMag/AnotherExpandingCell
关于ios - UITableViewCell 中带有图像的动态标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51770064/