特定布局的 Xcode 约束
Posted
技术标签:
【中文标题】特定布局的 Xcode 约束【英文标题】:Xcode constraints for specific layout 【发布时间】:2013-08-23 08:38:55 【问题描述】:我正在尝试使用约束在 Interface Build 中获得特定布局,但无法确定我需要的约束。在使用图表后,我将尝试演示我的想法。我有一个带有背景图像的标题,然后在其中放置了两个按钮。在 iPhone 5 上,我将标题换成更大的标题,这会导致标题增长到正确的大小,但我无法弄清楚我需要对按钮施加什么限制才能让它们间隔我想要(见 iPhone 5 图)
在 iPhone 4 上
-------------------------
|Button 1 | <- Header
|Button 2 |
-------------------------
在 iPhone 5 上(需要弄清楚实现这一点的限制条件)
-------------------------
|Button 1 |
| |
|Button 2 |
| |
|-----------------------|
我希望 Button 2 在 Button 1 底部和标题视图底部之间的空间居中。我还希望(尽管不是非常重要)将按钮 1 稍微向下移动,使其远离标题的顶部。有人可以帮忙吗?
【问题讨论】:
【参考方案1】:在 UIView 包装器中包装 button2。将 button2 放置在此包装器的垂直中心。
包装器应该占用视图的剩余空间。将包装的顶部边缘连接到按钮 1 的底部边缘。将包装器的底部边缘附加到超级视图的底部边缘。
等等:
现在你只需要改变包装的背景颜色。
要将 button1 向下移动,您必须进入代码。将定义 button1 顶部边缘的约束连接到 IBOutlet,以便您可以将约束更改为视图高度的倍数。
【讨论】:
谢谢 - 这回答了问题,但最后我需要它略有不同(第二行按钮比在下部空间居中略高),所以最终不得不修改约束用于代码中的包装器视图。我希望你能从界面生成器中更好地控制约束,但它看起来不像。此外,当您尝试设置约束并且 Xcode 在您修改不同视图时不断更改它们时,它也无济于事。我想我还需要学习更多 Xcode 黑魔法:)以上是关于特定布局的 Xcode 约束的主要内容,如果未能解决你的问题,请参考以下文章