调整相对于彼此的视图Xcode 6

时间:2015-05-22 05:23:51

标签: ios xcode storyboard autolayout interface-builder

我正在使用Xcode 6和自动布局构建一个新的应用程序。我刚刚开始使用自动布局,这可能是一个非常简单的问题需要解决,但我一直在试图找到正确的方法。

我有一个视图播放如下(没有代表发布图片所以使用了链接)

http://files.parsetfss.com/48d8d860-e1c2-4671-ac59-03f46eee316b/tfss-23f6bdb8-3e5b-4ce0-b7ed-b1daf0006f33-Screen%20Shot%202015-05-22%20at%202.56.03%20pm.png

我在红色框上设置了约束,使其左,右和底部与superview保持相同的距离,另一个保持其高度始终相同。然后,我设置了黑色和绿色框的约束,保持顶部和外部边缘与超视图的距离相同,底部边缘与红色框的距离相同。

目标是红色框保持相同的高度,并随着设备尺寸和方向改变宽度,绿色和黑色改变高度和宽度,以填充屏幕其余部分的一半,并在中间相遇。 / p>

现在我设置了约束来保持黑色和绿色彼此相同的距离,并且它按照我想要的方式工作但是我得到警告,黑色和绿色框的位置和宽度都不明确。

我想出去摆脱警告的唯一方法是将标签(alpha设置为0,因此无法看到)限制在屏幕中心然后设置黑色和绿色框中包含基于标签的内容。这有效并且没有警告,但我确信这不是解决问题的最佳方法。

所以问题是如何解决错误并放置不必要的隐藏标签。

3 个答案:

答案 0 :(得分:0)

您需要为黑色和绿色框指定“等宽”约束。选择这两个框,然后从画布底部的图钉图标中选择“等宽”。

答案 1 :(得分:0)

由于底部的视图具有固定的高度...您只需要固定所有视图的所有边缘,只需要为黑色和绿色视图提供相等的宽度约束......就像下面的图像一样。 。

enter image description here

不同屏幕的输出......

enter image description here

答案 2 :(得分:0)

根据您的要求


1视图黑色:

1view
2视图绿色:

2view
3视图红色:

3view

请点击这些链接AutolayoutAutolayout programatically

这可能对您有所帮助:)。