在两个 UIView 之间添加更多空间的约束

Posted

技术标签:

【中文标题】在两个 UIView 之间添加更多空间的约束【英文标题】:Constraint to add more space between two UIViews 【发布时间】:2013-01-17 16:00:55 【问题描述】:

我正在使用 XCode 4.5.2 和最新的 SDK 开发一个 iPhone 应用程序。

现在我正在使用 Autolayout 来处理一个情节提要,并将其用于 iPhone 4S 和 iPhone 5。

这是 Retina 3.5 外形尺寸您如何看待它:

这就是您在 Retina 4 外形尺寸中看到它的方式:

我需要在 Todos los establecimientosTodos los products 之间添加更多空间。此外,在 Todos los productsPor distancia > 之间。

Todos los establecimientosTodos los products 现在具有 Top Space to: Superview 约束。

当我使用 Retina 4 外形尺寸时,如何在这些元素之间添加更多空间?

【问题讨论】:

【参考方案1】:

这可以通过优先级小于 1.0 的约束来完成。 要在 2 个视图之间创建约束,请同时选择两者并单击界面构建器右下角的约束按钮以选择在这种情况下垂直间距所需的约束。..

Raywenderlich 对此有一个很好的教程: Part 1 Part 2

或阅读 Apple 文档: Apple Guide - Understanding Constraints

【讨论】:

感谢您的回答,但是,您知道如何解决我遇到的相同问题的教程吗?目前很难理解 Auto Layout 并用它来解决我的问题。 您需要添加一个关于垂直间距的约束并优先考虑它们。在 WWDC 2012 的会议中,有一个关于自动布局的好会议。但我真的建议您尝试设置约束并降低其优先级。自动布局总是试图适应尽可能多的约束。优先级最高的优先,依此类推。 我可以与您分享我的故事板(和视图控制器),因为我不知道该怎么做。如果需要,请给我发送电子邮件。你可以在我的网页上找到它(我不知道我是否可以在这里写下我的电子邮件)。 @VansFannel 没有简单的魔锤可以解决自动布局的问题。花一两天时间弄清楚它是如何正常工作的,否则你将陷入痛苦的世界。如果您没有时间或耐心,请暂时不要使用它。这不是强制性的。【参考方案2】:

如果您希望“Busqueda por filters”标签和“Por valoracion”标签分别保持到顶部和底部的固定距离,那么您可以嵌入“Todos los establecimientos”、“Todos los products”、和“Por distancia”中的一个视图。这三个项目将在该视图的顶部、中间和底部具有固定的空间。将该视图垂直间距约束赋予上方的“Busqueda por filters”标签和下方的“Por valoracion”标签,并删除主视图顶部或底部的任何间距约束。当屏幕尺寸变大时,此视图将拉伸,从而在其视图之间留出更多空间。

【讨论】:

以上是关于在两个 UIView 之间添加更多空间的约束的主要内容,如果未能解决你的问题,请参考以下文章

UIView 上的顶部空间约束,而不是 UIImag

根据手机调整UIScrollView中UIView和UIButton之间的约束高度

以编程方式将约束添加到导航栏 Swift

如何为等间距按钮添加情节提要约束

以编程方式在 xib 上使用自动布局创建的两个文本字段之间添加 uiview

垂直空间约束奇怪的行为