ios - 自动布局和线性方程

标签 ios swift autolayout constraints nslayoutconstraint

我正在尝试通过查看自动布局和线性方程 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

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

最佳答案

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

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/

相关文章:

iOS 输入字段 - 键入文本时不可见

ios - 如何添加约束以右对齐 UITableViewCell 内的图像

ios - 如何像 Tinder 一样倒带最后一次滑动

Swift 使标签重叠状态栏

ios - 自动布局 4 UILabels 垂直高度根据其内容/文本

iOS - 将整个文档目录标记为不备份

ios - Touch ID - 如何在我点击 "Enter Password"时弹出密码键盘/数字键盘? - swift

ios - UICollectionViewCell 中的 UISwipeGestureRecogniser 问题

ios - 在今日扩展中使用自动布局的动态高度

ios - 指向视觉格式语言 (VFL) 约束的指针?