限制为边距的堆栈视图不会留下任何余量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了限制为边距的堆栈视图不会留下任何余量相关的知识,希望对你有一定的参考价值。

我遇到了一些问题,我不确定如何解决......我正在研究一些有点旧的课程(它们是在Swift 3中完成的),我遇到了约束和边距的问题。我只是按照课程说它对于那个堆栈视图我需要放下以下约束:Given constraints

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

Result

这是我预期的结果:

Expected Result

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

答案

是。这令人困惑。选择约束到边缘用于在边上留下间隙。现在,当您选择“约束到边距”时,它会将视图约束到“安全区域”,但当常量为0时,视图会扩展到边。

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

  1. 打开您的主要约束。单击Safe Area.leading并在弹出窗口中选择Superview。
  2. 现在点击Superview.leading并选择Relative to margin并将Constant设置回0

对尾随约束重复此操作。


替代解决方案

或者,您可以将视图约束到安全区域,只需将常量设置为16(或-16,具体取决于约束中项目的顺序)。

以上是关于限制为边距的堆栈视图不会留下任何余量的主要内容,如果未能解决你的问题,请参考以下文章

如何将边缘设置为零?

iOS Autolayout:如何显示/隐藏包含边距的视图?

对边距的影响?

它使没有边距的视图膨胀

为啥我的设置切断了我对边距的限制?

如何在 Xcode 的嵌入式堆栈视图中设置边距而不会出现约束错误?