自动布局和线性方程

问题描述 投票:0回答:1

[我试图通过研究自动布局和线性方程y = m.x + b来进一步推动我的iOS开发学习。

这是我正在使用的简单练习:我有SafeArea View,并在其上方添加了greeView。然后标记了我感兴趣的四个约束(#1表示顶部约束,#2表示尾随约束,#3表示底部的约束,#4表示前导的约束)

enter image description here

因此,例如,通过对第一个方程应用线性方程,它将是:

((1):greenView.Top = 1.safeArea.top + 20

但是显然对于第二个约束不是:

((2):greenView.Trailing = 1.safeArea.Trailing + 20

但是应该是:

((2):safeArea.Trailing = 1.greenArea.Trailing + 20

我想我缺少一些东西来理解第二个约束的对齐背后的逻辑。有什么提示吗?谢谢

ios swift autolayout constraints nslayoutconstraint
1个回答
0
投票

约束流必须有一些隐式顺序,以便您知道“之前”和“之后”的含义。

Apple已选择从上到下,从前导(在LTR语言环境中为左)到尾随(为右)。

您的第二个约束说,超级视图尾部比绿色尾部多20倍。

如果您在(2)中具有约束,则绿色视图将偏离屏幕右边缘20。

您也可以说greenView.trailing = 1.safeArea.trailing-20以获取所需的结果。

© www.soinside.com 2019 - 2024. All rights reserved.