iOS 中constraint 不等于约束和低优先级约束使用的简单体会

时间:2023-03-08 16:29:56

看了些文章发现,在使用constraint时,不等于约束往往是和低优先级约束成对使用的,这样才能实现他们的效果。

看看例子

iOS 中constraint 不等于约束和低优先级约束使用的简单体会

下面是在3.5存屏幕下的效果

图1,竖屏,在满足>=50的前提下,可以满足=100,所以=100生效了。

iOS 中constraint 不等于约束和低优先级约束使用的简单体会

图2,横屏,在满足>=50的条件下,无法满足=100,所以不实现=100。但是系统会尽最大努力满足=100,所以>=50在真实条件下被实现成了=50。

iOS 中constraint 不等于约束和低优先级约束使用的简单体会

另一种理解是,系统先实现所有=的约束,之后在此基础上检查不等于的约束能否满足,如果满足则结束。如果不满足,那么在不满足的基础上最低限度调整布局,使其满足约束。