IOS - 自定义单元格可以拉伸标签视图

时间:2016-11-10 03:38:22

标签: ios swift autolayout uilabel

我正在创建具有这些约束的表视图和自定义单元格。

tableView.estimatedRowHeight = 400
tableView.rowHeight = UITableViewAutomaticDimension

主要演示文稿:

Main Storyboard

约束:

Constraints

然而,结果使得两个顶部标签像这样伸展。请告诉我为什么会发生这种情况以及如何解决这个问题?

enter image description here

2 个答案:

答案 0 :(得分:0)

如果不看全局,很难说,但很可能与该标签的内在内容大小限制有关。还有一些东西使得单元格的大小更大,并且该单元格的内容拥抱优先级足够低,以便延伸以填充空间。很可能拉伸该标签是另一个问题的症状。

答案 1 :(得分:0)

我假设您希望UIImageView填满空白区域。尝试为所有标签添加>=最小值的高度约束,例如20(或您的字体大小)。并确保您的UIImageView没有固定的高度限制,但具有顶部,前导,尾随和底部约束。这些是您应该具备的限制因素:

  • 用户标签应具有顶部,前导和尾随>= 10.将numberOfLines设置为0并将自动换行设置为内容换行。
  • 我假设您的日期和膳食标签位于堆栈视图中。因此它应该至少具有明确定义的前导,顶部和高度约束,即前导,顶部和高度约束的优先级为1000.如果您没有为此视图定义高度,则默认设置为750并且此高度约束永远都会破裂。
  • 现在,您的UIImageView应该有顶级,领先和尾随约束。
  • 您的代码标签应具有前导,尾随和顶部约束。
  • 您的评论按钮应具有前导,上下,尾随和固定高度

除了上面提到的限制之外,确保除了图像视图之外的所有视图都有一个固定的高度约束,其具有> =到最小高度