堆栈视图受限于边距不留边距

Ste*_*vic 7 xcode margins ios stackview autolayout

我遇到了一些我不知道如何解决的问题......我正在学习一些有点旧的课程(它们是在 Swift 3 中完成的),我遇到了约束和边距的问题。我只是在听课,它说对于该堆栈视图,我需要设置以下约束: 给定约束

在向堆栈视图添加约束后,我得到了这个结果:

结果

这是我期望的结果:

预期结果

所以我的问题是为什么堆栈视图会超过边距,以及如何修复它。(提醒课程在 Swift 3 中,他们在边距内获得了堆栈视图)

vac*_*ama 7

是的。那令人困惑。选择约束到用于在两侧留下间隙的边距。现在,当您选择Constrain to margins 时,它会将您的视图限制在安全区域,但当常量为时,视图会延伸到两侧0

要修复它,请更改前导和尾随约束:

  1. 打开您的领先约束。单击Safe Area.leading并在弹出窗口中选择Superview
  2. 现在单击Superview.leading并选择相对于边距并将常量设置回0

对尾随约束重复此操作。


替代解决方案

或者,您可以将视图限制在安全区域,并将常量设置为16(或-16取决于约束中项目的顺序)。