约束高级属性Content Compression Resistance Priority和Content Hugging Priority

来源:互联网 发布:旧货市场淘宝 编辑:程序博客网 时间:2024/06/01 07:13

今天遇到的场景是如下图所示,在一个自定义View 的Xib里面,a,b,c三个label从上往下排,之间都有垂直方向的约束,,并且c和底部也有间距约束关系,但是由于业务需求,a控件有时候是hidden = yes状态的,也有可能是hidden =no状态,现在问题来了,如果a为hidden = yes状态,那么b这个控件会自动变高,被拉升了。现在需要的是这个控件不被拉高。


怎么办呢?

下面先介绍约束的两个高级属性,抗拉伸,抗压缩:

“Content Compression Resistance Priority”,也叫内容压缩阻力优先级(小名:别挤我),该优先级越高,则越晚轮到被压缩。

“Content Hugging Priority”,也叫内容紧靠优先级(小名:别扯我),该优先级越高,这越晚轮到被拉伸。

现在只需要把”别扯我“Content Hugging Priority的垂直方向的优先级改为1000即可,那么当b的hidden为yes状态时候,b这个label与上面的a控件的边距约束优先级被降低了(即使b与a之间的间距约束优先级为1000),是别扯我优先级较高。

0 0
原创粉丝点击