美文网首页
AutoLayout自动约束中的两个重要属性

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

作者: jackguo | 来源:发表于2017-03-24 14:51 被阅读0次

    1.Content Hugging priority  

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

    content Hugging默认优先级250.

    案例分析

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

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

    2.Content Compression Resistance priority

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

    Content Compression Resistance默认就是750

    案例说明:

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

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

    此时autolayout系统会去首先满足此constraint,

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

    这时就是先满足了Content Compression Resistance的constraint,因为其优先级高。

    相关文章

      网友评论

          本文标题:AutoLayout自动约束中的两个重要属性

          本文链接:https://www.haomeiwen.com/subject/hhffottx.html