我正在尝试通过查看自动布局和线性方程 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 语言环境中的左侧)到尾随(右)。
您希望绿色 View 的后缘在 super View 的后缘“之前”为 20。
有两种方法可以指定它;正如您在 (3) 中所看到的,其中约束表示 super View 尾随比绿色尾随多 20。
你也可以说greenView.trailing = 1.safeArea.trailing-20
得到你想要的结果。
如果您有根据 (2) 的约束,则绿色 View 将在屏幕右边缘 20 处。
关于ios - 自动布局和线性方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59124220/