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

Posted

技术标签:

【中文标题】如何在 Xcode 的嵌入式堆栈视图中设置边距而不会出现约束错误?【英文标题】:How do I set margins in an embedded Stack View in Xcode without getting constraint errors? 【发布时间】:2020-05-31 03:28:26 【问题描述】:

我已经嵌套了堆栈视图,我正在尝试为最里面的堆栈视图设置边距,但我遇到了冲突约束。我正在尝试将内部堆栈视图设置为距容器堆栈视图顶部 30 像素,我得到的冲突如下所示:

堆栈视图.top = 顶部 + 30 top = 堆栈视图.top

我已经阅读了关于设置边距的Apple documentation,但没有看到使用哪个设置来避免冲突。该提示仅将问题缩小到“给定约束之一的常量、关系或优先级”。我正在寻找使用 Interface Builder 或 Swift 的解决方案。

【问题讨论】:

【参考方案1】:

已解决:我在一个相关问题 (How to add leading padding to view added inside an UIStackView) 中找到了解决我问题的答案,但我不确定这是不是正确的方法。通过将内部 Stack View 的 Layout Margins 从“Default”更改为“Fixed”,可以在没有约束冲突的情况下设置边距。

要在 Interface Builder 中将 Layout Margin 从 Default 更改为 Fixed,请单击 Stack View > Size Inspector > Layout Margins > Fixed,然后会出现一组新选项供您添加边距值。

Fixed layout options image

【讨论】:

以上是关于如何在 Xcode 的嵌入式堆栈视图中设置边距而不会出现约束错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Eureka 中设置节页眉/页脚边距而不创建自定义类

如何在按钮点击时添加累积保证金?

如何在情节提要 Xcode 11 中的视图之间将边距设置为零

堆栈视图中的自动约束冲突、Swift 2、iOS 9.3、XCode 7

如何在设置了“等宽”的滚动视图中嵌入的堆栈视图中将标签文本设置为远离视图边缘?

Xcode 6 现在是不是给视图提供 16 个点的边距?