XCode 5 - 水平居中几个按钮宽度AutoLayout

时间:2014-03-31 07:13:24

标签: iphone ios7 xcode5

HY,

我是iOS开发的初学者,我需要一些帮助。

我有一个包含4个按钮的视图。我想使用自动布局将这些按钮放在屏幕中心(但在每个按钮之间保留空格)。

我的屏幕有这样的样子:

 -------------------------
|     NAVIGATION BAR      |
|-------------------------|
|                         |
|  |------|     |------|  |
|  |      |     |      |  |
|  |      |     |      |  |
|  |------|     |------|  |
|                         |
|  |------|     |------|  |
|  |      |     |      |  |
|  |      |     |      |  |
|  |------|     |------|  |
|                         |
|                         |
|                         |
|                         |
|-------------------------|
|         TAB BAR         |
 -------------------------

你能帮助我吗?

...谢谢

2 个答案:

答案 0 :(得分:1)

使用自动布局非常简单,因为自动布局是为这样的情况构建的(即使是字符串和struts模型也可以很容易地解决这个问题)。

<强> 1。您所要做的就是创建一个包含按钮的包装器UIView。视图应该具有清晰透明的背景,因此您根本看不到它。

 -------------------------
|     NAVIGATION BAR      |
|-------------------------|
|  ---------------------  |
| ||------|     |------|| |
| ||      |     |      || |
| ||      |     |      || |
| ||------|     |------|| |
| |                    || |
| ||------|     |------|| |
| ||      |     |      || |
| ||      |     |      || |
| ||------|     |------|| |
|  ---------------------  |
|                         |
|                         |
|                         |
|                         |
|-------------------------|
|         TAB BAR         |
 -------------------------

<强> 2。然后你必须将该视图的约束设置为水平和垂直居中。这是下面的结果:

 -------------------------
|     NAVIGATION BAR      |
|-------------------------|
|                         |
|                         |
|  ---------------------  |
| ||------|     |------|| |
| ||      |     |      || |
| ||      |     |      || |
| ||------|     |------|| |
| |                    || |
| ||------|     |------|| |
| ||      |     |      || |
| ||      |     |      || |
| ||------|     |------|| |
|  ---------------------  |
|                         |
|                         |
|-------------------------|
|         TAB BAR         |
 -------------------------

因此,当视图更高时,您将得到以下结果:

 -------------------------
|     NAVIGATION BAR      |
|-------------------------|
|                         |
|                         |
|                         |
|                         |
|  ---------------------  |
| ||------|     |------|| |
| ||      |     |      || |
| ||      |     |      || |
| ||------|     |------|| |
| |                    || |
| ||------|     |------|| |
| ||      |     |      || |
| ||      |     |      || |
| ||------|     |------|| |
|  ---------------------  |
|                         |
|                         |
|                         |
|                         |
|-------------------------|
|         TAB BAR         |
 -------------------------

您可以根据需要在Interface Builder或代码中执行此操作。我建议您阅读一些有关自动布局如何工作的资源。

答案 1 :(得分:0)

首先,您使用IB(界面构建器,即Xcode中的图形方式)还是以编程方式添加约束(仅使用ViewController中的代码行)?

这是了解自动布局的快速指南: https://www.youtube.com/watch?v=0L-CgBYCN6I

这是非常好的详细教程,用于理解和使用IB中的自动布局(它也是最新的(2014年): https://www.youtube.com/watch?v=r1sc7NI6-wo

这些苹果文档非常适合以编程方式进行约束: https://developer.apple.com/library/ios/documentation/userexperience/conceptual/AutolayoutPG/Introduction/Introduction.html

希望这能让您更接近解决方案。