如何在 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