ios基础知识iOS DeveloperiOS开发技术分享

iOS的一个小技巧——AutoLayout约束的优先级

2016-11-22  本文已影响2259人  WhisperKarl

约束的优先级

AutoLayout中添加的约束也有优先级,优先级的数值是1~1000。分为两种情况:

  1. Content Compression Resistance Priority
    Returns the priority with which a view resists being made smaller than its intrinsic size.
    这个优先级的字面意思很明确了,是防压缩优先级,优先级越高,越不易被压缩,默认为750

多说无益,举个栗子来感受一下

举个栗子

再举个🌰

场景还原,工作中我们常常会碰到这种需求,并排放置两个Label,左边的Label宽度根据内容适应,右边的Label距离左边Label有个固定距离,距离屏幕右边有个固定距离,在不设置优先级的情况下,我们会经常遇到奇怪的现象,要么左边的Labe被拉伸,要么被压缩,比如下图


7.png

我们设置左边Label的抗压缩优先级和抗拉伸优先级都大于右边Label,效果如图


8.png
9.png
由于左边Label的抗压缩和抗拉伸优先级都高于右边Label,而且其他约束的优先级(1000)也都高于右边label的固有宽度优先级,所以系统选择拉伸或者压缩了右边的Label,实现了我们的需求。
上一篇 下一篇

猜你喜欢

热点阅读