我查看this文章,我有一个问题。
考虑对文本字段对象进行以下约束:
First Name Text Field.Top >= Top Layout Guide.Bottom + 20.0
First Name Text Field.Top = Top Layout Guide.Bottom + 20.0 (Priority 249)
我很困惑。如果我添加更大或更大的约束,不是意味着我已经说过 - 设置这个距离大于或等于20?添加第二个约束 - First Name Text Field.Top = Top Layout Guide.Bottom + 20.0 (Priority 249)
的重点是什么。它也降低了优先级,所以我想,它永远不会被评估,因为第一个约束 - First Name Text Field.Top >= Top Layout Guide.Bottom + 20.0
具有更高的优先级。
有人可以向我解释这个逻辑吗?有没有意义添加2个具有不同优先级的约束?是否添加大于等于约束和约束的任何点,等于相同的值(在大小写为20)? 感谢。
答案 0 :(得分:1)
大于或等于约束本质上是不明确的。您已告知自动布局,以使您的名字文本字段与顶部布局指南的底部之间的距离至少为 <script src="https://cdnjs.cloudflare.com/ajax/libs/OverlappingMarkerSpiderfier/1.0.3/oms.min.js">
。请注意,20
,20
和30
都会满足该约束。
通过添加第二个约束,您可以告诉自动布局您希望它是50
。通过优先级20
,您告诉自动布局此请求低(优先级转到249
),如果需要,应先破解打破约束使事情发挥作用。
因此,使用这两个约束,自动布局将尽可能使距离1000
。如果没有,它将使用大于20
的值。