[我试图通过研究自动布局和线性方程y = m.x + b
来进一步推动我的iOS开发学习。
这是我正在使用的简单练习:我有SafeArea View
,并在其上方添加了greeView
。然后标记了我感兴趣的四个约束(#1表示顶部约束,#2表示尾随约束,#3表示底部的约束,#4表示前导的约束)
因此,例如,通过对第一个方程应用线性方程,它将是:
((1):greenView.Top = 1.safeArea.top + 20
但是显然对于第二个约束不是:
((2):greenView.Trailing = 1.safeArea.Trailing + 20
但是应该是:
((2):safeArea.Trailing = 1.greenArea.Trailing + 20
我想我缺少一些东西来理解第二个约束的对齐背后的逻辑。有什么提示吗?谢谢
约束流必须有一些隐式顺序,以便您知道“之前”和“之后”的含义。
Apple已选择从上到下,从前导(在LTR语言环境中为左)到尾随(为右)。
您的第二个约束说,超级视图尾部比绿色尾部多20倍。
如果您在(2)中具有约束,则绿色视图将偏离屏幕右边缘20。
您也可以说greenView.trailing = 1.safeArea.trailing-20
以获取所需的结果。