2个并排UILabels的布局约束问题

Posted

技术标签:

【中文标题】2个并排UILabels的布局约束问题【英文标题】:Layout Constraint issues with 2 side by side UILabels 【发布时间】:2018-03-07 01:14:04 【问题描述】:

我有 2 个 UILabel 并排。右边的会随着内容的变化而增长(使用 sizeToFit),当它增长时,左边的会根据需要缩小并截断。

这是我目前的限制:

左标签:

Leading space to superview: 8
Width <= 156
Top space to superview: 0
Height: 32
Trailing space to right label: 8

右标签:

Trailing space to superview: 8
Width >= 0
Top space to superview: 0
Height: 32
Leading space to left label: 8
Leading space to superview <= 172

使用我在这里的内容,右标签将按应有的方式增长,但左标签不会缩小并截断里面的文本。我做错了什么?

编辑:两个标签都应该有一个静态高度。右侧标签宽度应增加,左侧标签宽度应缩小。

【问题讨论】:

右标签的最大尺寸是多少? 正确标签上不应该有最大尺寸,除非我必须有一个? 当右标签有长(超过屏幕宽度)文本时会发生什么? 我想它应该截断里面的文本。 你在使用故事板吗? 【参考方案1】:

对于增长和收缩约束,每个 UIView 都有以下方法:

contentCompressionResistancePriorityForAxis:// For setup shrink constraints
contentHuggingPriorityForAxis:// For setup growing constraints

不要忘记优先级。

附言情节提要在每个视图的参数中都有相同的字段。

【讨论】:

非常感谢,我一直想知道这些设置是什么,但从来没有碰过它们。我确实赞成你的回答,但我太新了,不能公开:) @eskimo 欢迎您,如果对您有帮助,您可以接受答案。

以上是关于2个并排UILabels的布局约束问题的主要内容,如果未能解决你的问题,请参考以下文章

UILabels 垂直拥抱优先级

使用自动布局和约束更改位置

不明确的布局 - 我需要为两个并排视图添加哪些额外的约束?

向 uitabelviewcell 添加多个 uilabels 时无法正确设置布局

纵向而不是横向的自动布局方向更改

2 个按钮并排