UILabel 收缩 拉伸 setContentHuggingPriority和setContentCompressionResistancePriority

1,930 阅读1分钟

当两个UILabel并排显示时,如何设置约束,让 leftLB 和 rightLB 正常显示就很重要了。

左右两个 Label的宽度不相等,此时需要根据设置 setContentHuggingPrioritysetContentCompressionResistancePriority 来控制哪边的 label 拉伸,哪边的 label 收缩

说明

 说明
ContentHuggingPriority : 表示当前的 Label 的内容不想被拉伸 ContentCompressionResistancePriority : 表示当前的 Label 的内容不想被收缩
默认: HuggingPriority == 250,  CompressionResistancePriority == 750

需要考虑两种情况,左右两边数据均不足的时候,谁拉伸?左右两边数据均充足的时候,谁收缩?

左右两边数据均不足的时候,谁拉伸

  • 这个由 HuggingPriority 控制。如果想让左边的内容拉伸,就设置左边的数值<250 (或让右边的>250), 如果想让右边的内容拉伸,就设置右边的数值<250 (或让左边的>250).

  • 左右两个 Label 对比,数值越大,越不想被拉伸,结果也不会被拉伸;数值越小,越容易被拉伸.

左右两边数据都充足的时候,谁收缩

  • 这个由ContentCompressionResistancePriority控制。如果想让左边的内容收缩,就设置左边的数值<750(或让右边的>750), 如果想让右边的内容收缩,就设置右边的数值<750(或让左边的>750).

  • 左右两个 Label 对比,数值越大,越不想收缩,结果也不会收缩;数值越小,越容易收缩.