AutoLayout自动约束中的两个重要属性

1.Content Hugging priority  

直译过来就是  内容 紧靠 优先级     抗拉伸优先级 (小名:别扯我),该优先级越高,越晚轮到被拉伸。

content Hugging默认优先级250.


案例分析

假设设置一个按钮与父控件的右边约束为-10,并设置此条的优先级为251,大于别的约束,那么系统就会保证这-10的间距,而自动的拉长按钮的宽度,如图:

AutoLayout自动约束中的两个重要属性_第1张图片


如果把右边的约束的优先级设置为249 ,那么系统就保证按钮的正常宽度,不被拉伸,所以就如下


AutoLayout自动约束中的两个重要属性_第2张图片

2.Content Compression Resistance priority

直译过来就是  内容 压缩 阻止 优先级      抗压缩优先级  (小名:别挤我),该优先级越高,则越晚轮到被压缩。

Content Compression Resistance默认就是750


案例说明:

当拖拽一个button的到view中,系统会根据字体和图片自动计算button本身的尺寸, 

假设设置按钮左边与右边的束与父控件都为100, 默认的Content Compression 的优先级是 750,如果内容超出,设置右边的约束优先级为751,这种情况下按钮显示的状态系统就会为了保证右边的高优先级的约束,压缩按钮内容

AutoLayout自动约束中的两个重要属性_第3张图片
此时autolayout系统会去首先满足此constraint,

如果把右边约束的优先级更改为749 Horizontal也就是右边的约束的优先级小于button自身计算的尺寸的优先级,所以会显示成以下的情况.

AutoLayout自动约束中的两个重要属性_第4张图片
这时就是先满足了Content Compression Resistance的constraint,因为其优先级高。

你可能感兴趣的:(AutoLayout自动约束中的两个重要属性)