使用自动布局了解基本内容

时间:2014-09-18 13:13:20

标签: ios objective-c

使用Xcode 5,我曾经在故事板上放置视图,他们只是工作。我没有必要设置它们的宽度和高度限制,只是它们在故事板中的大小。在Xcode 6中,如果我不提供视图宽度/高度约束,它们会变得很大。 (为什么?)

真正的问题是,如果有一个魔术按钮,你可以在屏幕上订购任何东西,而不仅仅是让Xcode根据屏幕缩放所有内容而不受限制。只需获取所有尺寸和距离,然后相对于新屏幕尺寸更改它们。

为了说明我的问题,请看一下这张图片: enter image description here

我正在尝试在屏幕的中心y和中心x放置两个按钮。 所以Y1 = Y2,AND X1 = X2。

我设置了宽度和高度限制,我设置了左视图的leading space to container约束和右视图的trailing space to container约束。

相同的顶部空间到容器约束(Y1和Y2)。

x1和x2变成了consts变量,在iPhone 5模拟器中它看起来像预期的那样,但在更大的屏幕中,我看到正方形重叠,d可能非常小。

  1. 为什么会这样?
  2. 如何获得所需的行为?
  3. 为什么你不能把它们放在屏幕上让Xcode根据屏幕相对改变所有尺寸和距离?

2 个答案:

答案 0 :(得分:0)

我解决了我的问题。

我设置宽度和高度约束,比我为每个按钮设置的约束,使其垂直和水平居中,这使得每个手机都处于正确的位置。

按中心我的意思是我控制拖动并选择中心到superView。比我的约束

align center x to superview equals 82

答案 1 :(得分:0)

为实现此目的,请执行以下操作:

  1. 在添加任何约束之前,将这两个按钮嵌入视图中(例如,命名为:按钮容器视图)
  2. 水平向容器添加中心,在按钮容器视图与超级视图之间垂直居中到容器约束。
  3. 将宽度,高度限制设置为按钮容器视图。
  4. 这会不断地保持两个按钮(d)之间的空间,并始终保持X1, X2相等。它适用于纵向和横向模式。

    参考此屏幕:

    enter image description here