ios - UITableViewCell 中带有图像的动态标签?

标签 ios swift uitableview

我们有两个(第一个标签动态高度)标签和一个在 UITableview 中,我们的图像大小静态假设为 120*70

我们正在设置图像单元格 super View 的底部约束,但是当标签内容高度大于图像高度时,第二个标签会自动进入单元格。

我们正在使用 UITableViewAutomaticDimension

这里我们混淆了对标签设置约束,如何按比例设置标签和图像的高度。

如果我们尝试对标签进行底部约束并固定图像的高度和宽度,那么单元格底部会出现空白。

我的单元格设计如下图所示:

Cell design Image

使用以下约束检查我的输出

输出:

image

约束图像:

Image

最佳答案

您可以通过为底部标签和 ImageView 设置大于或等于底部约束来轻松做到这一点。

首先,请确保您使用的是:

    tableView.rowHeight = UITableViewAutomaticDimension
    tableView.estimatedRowHeight = 100

因此单元格/行将自动调整大小以适合内容。

对于单元格原型(prototype),我有(背景颜色以便我们可以看到框架):

  • 多行标签约束前 8 和前导 8(来自父 View ,不使用边距)
  • Image View constrained Top 8 和 Trailing 0(来自 super View ,不使用边距)和宽度 119 高度 87 (基于您发布的图片)
  • 1 行标签约束前导和尾随多行标签,前 4 多行标签
  • 多行标签也被限制在 ImageView 的尾部 8

现在关键是接下来的两个约束...

  • >= 8 处的 1 行标签的底部限制到父 View 的底部
  • >= 8 处将 ImageView 的底部限制到父 View 的底部

enter image description here

现在,单元格高度将自动扩展以适应更高的元素:

enter image description here

以及没有彩色背景时的外观:

enter image description here

完整的项目可以在这里找到:https://github.com/DonMag/AnotherExpandingCell

关于ios - UITableViewCell 中带有图像的动态标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51770064/

相关文章:

ios - 使用 plist 在 TableView 之间传递数据

ios - FaSTLane 与企业环境中的多个现有应用程序匹配

ios - 使用 for 更改 var 名称

swift - 使用 tvOS 实现基本动画

swift - 没有为每个菜单项调用 validateMenuItem

ios - IBInspectable 属性停止显示

ios - 一个一个地从数组中获取元素并创建按钮

swift - 滚动到尚未加载的 TableView 行

objective-c - Three20:照片查看器自定义

iphone - UIScrollView背后如何与UIView交互