具有 2 个多行标签、抗压缩性和最少 1 个行标签的 AutoLayout
Posted
技术标签:
【中文标题】具有 2 个多行标签、抗压缩性和最少 1 个行标签的 AutoLayout【英文标题】:AutoLayout with 2 multiline labels, compression resistance and minimum 1 line label 【发布时间】:2014-12-30 15:05:17 【问题描述】:我在一个固定高度的单元格中有 2 个UILabels
。两个标签都是多行的,我需要垂直压缩两个标签,以防文本不适合单元格。我在第一个标签上设置了稍高的优先级,因为那里的文本更重要,并且我定义了垂直空间限制和不同的抗压缩优先级。
现在两个标签都成功调整了单元格的高度,第二个标签在文本太长的情况下截断尾部,但如果两个标签中的文本太多,第一个标签优先并压缩第二个标签,所以文本要么被剪切,要么标签消失。我应该如何配置 AutoLayout 以使第二个标签的至少一行始终可见?
【问题讨论】:
【参考方案1】:您可以使用隐藏标签来完成此操作,并且您无需更改几乎可以为您提供所需行为的现有约束。
创建限制为 1 行的隐藏标签。 将隐藏标签的垂直压缩阻力设置为 1000(必需)。 在您希望至少有一行的标签和新的隐藏标签之间创建等高约束。 将等高限制设置为大于或等于并要求 (1000) 优先级。【讨论】:
以上是关于具有 2 个多行标签、抗压缩性和最少 1 个行标签的 AutoLayout的主要内容,如果未能解决你的问题,请参考以下文章
嵌套在水平 StackLayout 中时,多行标签不会调整父 StackLayout 的大小