iOS Autolayout 2 多行 UILabel 在 UITableViewCell 中具有额外的填充

Posted

技术标签:

【中文标题】iOS Autolayout 2 多行 UILabel 在 UITableViewCell 中具有额外的填充【英文标题】:iOS Autolayout 2 multi-line UILabels inside UITableViewCell having extra padding 【发布时间】:2015-03-23 12:20:22 【问题描述】:

我打算在 UITableViewCell 中并排使用两个等宽的 UILabel。虽然,每个标签内的内容的长度都是动态的,因此即使包含在同一个表格单元格中,UILable 的高度也会不同。我在 XCode 6.0 下使用了自动布局。我能够通过自动布局约束来实现一切,但唯一的障碍是 UILable 上存在的额外填充,如参考图像所示。我只想让标签占据精确的尺寸,而不是像参考图像中所见的额外填充@

以下是应用的约束:

【问题讨论】:

您需要什么额外的填充?我不明白您遇到了什么问题或错误在哪里。 好吧,我的问题是标签上的额外空格/填充,例如..在第一个单元格 - 右侧标签,在第二个单元格 - 左侧标签。我只希望标签具有适合它们的精确大小,以便同一单元格内的每个标签的内容存在于同一水平线上,而不像上面的参考图像中显示的那样。 请提供您对单元格中各个标签应用的所有约束。那么只有有人能够回答这个问题。 让我猜猜:这两个标签之间存在等高约束... 使您的底部约束大于(不仅仅是等于)所需的边距。这将允许较短的标签使其底部边界向上,从而减少垂直填充。 【参考方案1】:

每个标签上有两个垂直约束。现在考虑您需要标签顶部对齐的场景,您可以保持顶部约束不变。将bottom constraint 更改为灵活值,即>=8。如果您希望它底部对齐,则需要松开top constraint

【讨论】:

【参考方案2】:

你有它。您的标签对超级视图的顶部和底部有限制。所以当 superview 改变它的高度时,标签也会增加它们的高度来匹配约束。

【讨论】:

以上是关于iOS Autolayout 2 多行 UILabel 在 UITableViewCell 中具有额外的填充的主要内容,如果未能解决你的问题,请参考以下文章

具有 2 个多行标签、抗压缩性和最少 1 个行标签的 AutoLayout

ios8自动布局:多行(可能是0行)标签

如何使用autolayout在UITableViewCell中分发4个组件?

UILabel 使用 AutoLayout 实现具有居中放置和右侧按钮的 autoheight

UItableviewcell中的多行UIlabel使用Autolayout

iOS Autolayout:调整大小父视图中的 UILabels 问题