【发布时间】:2014-12-03 11:22:42
【问题描述】:
我有一个包含描述和标题标签的表格单元格。我想描述标签以使文本最多容纳 3 行,标题也可以这样做,但最多 2 行。我可以做到这一点。我遇到的问题是将描述贴在底部,并将标题放在描述上,如下所示。
我找到了使用框架的解决方案,但我想知道是否可以仅通过自动布局来实现这一点
【问题讨论】:
标签: ios uilabel autolayout
我有一个包含描述和标题标签的表格单元格。我想描述标签以使文本最多容纳 3 行,标题也可以这样做,但最多 2 行。我可以做到这一点。我遇到的问题是将描述贴在底部,并将标题放在描述上,如下所示。
我找到了使用框架的解决方案,但我想知道是否可以仅通过自动布局来实现这一点
【问题讨论】:
标签: ios uilabel autolayout
使用自动布局,您可以通过设置以下约束来实现。
为描述和标题标签设置恒定的高度约束。
选择描述标签并进入尺寸检查器,设置内容拥抱优先级、内容抗压缩优先级垂直值为1000。
在这些优先级下方的尺寸检查器中,您可以看到约束。 单击高度约束右侧的向下箭头,然后选择“选择并编辑”。 并将优先级设置为小于 1000。(比如 800)。默认为 1000。
对标题标签重复步骤 4,5。
在属性检查器中,将标题通道的“行”设置为 2,将描述标签设置为 3。 (如果将行设置为 0,它将显示完整的内容)
希望这会有所帮助。
【讨论】:
是的,可以在情节提要中为 TitleLabel 选择 NumberOfLines 属性为 0 并根据需要选择 LineBreks 意味着它会根据文本自动适应任意数量的行添加称为leadingSpaceToContainerMargin 的约束,TopSpace 到TopLayoutGuide,Width 设置为Equal,Height 设置为GreaterThanOrEqual。
对于描述标签,还将 TitleLabel 的 NumberOfLines 属性设置为 0 并根据需要选择 LineBreks 并添加诸如leadingSpaceToContainerMargin、VerticalSpacing、Width 设置为 Equal、Height 等约束设置为 GreaterThanOrEqual。
【讨论】: