Xib上两个Label并排如何自适应(优先一个label)

LabelA的Content Hugging priority 的Horizontal值:251
LabelB的Content Hugging priority 的Horizontal值:250
LabelB被拉伸

image.png

LabelA的Content Compression Resistance priority 的Horizontal值:751
LabelB的Content Compression Resistance priority 的Horizontal值:750
LabelB被压缩

Hugging priority 确定view有多大的优先级阻止自己变大。
Compression Resistance priority确定有多大的优先级阻止自己变小。

用代码来实现

setContentCompressionResistancePriority(抗压缩),这个值越低,就会在宽度不够的情况下,被压缩。常见的视图默认给的值是UILayoutPriorityDefaultHigh = 750。若是多个视图是默认值,会被系统认为更早被addSubview的视图该值更小!
[label1 setContentCompressionResistancePriority:758 forAxis:(UILayoutConstraintAxisHorizontal)];

setContentHuggingPriority(抗拉伸),这个值越低,就会在宽度多余的情况下,被拉伸。常见的视图默认给的值是UILayoutPriorityDefaultLow = 250。若是多个视图是默认值,会被系统认为更早被addSubview的值更小!
[label1 setContentHuggingPriority:300 forAxis:(UILayoutConstraintAxisHorizontal)];

你可能感兴趣的:(Xib上两个Label并排如何自适应(优先一个label))