如何在故事板中设置约束,使用autolayout在不同设备大小上设置动态位置

时间:2017-02-08 08:40:53

标签: ios iphone xcode autolayout constraints

我有一个关于如何在自动布局的故事板中设置约束的问题,如果我想保证多屏幕支持,以便所有UI控件都可以访问,并且UI不会在较小的屏幕尺寸设备(iPhone 4或iPhone)上搞砸SE)当我在更大的屏幕尺寸设备(IPhone 6)上进行设计时。我有一个设计在iPhone 6(在草图文件中)建立,我想转移到我的故事板。所以一般来说,我想在故事板中设置所有视图内容,而不是通过代码。

这是我的约束。底部的按钮具有48的固定高度和左右的前导,以及与底部的垂直距离100。顶部按钮与底部按钮的高度相等,与底部按钮的距离为28。

Constraints

这是设计的视图,其中包含iPhone 6上提到的按钮。这是我想要设置草图文件的故事板原因的默认大小。

Iphone 6

这是iPhone 4s上的视图

Iphone 4s

正如您所看到的那样,按钮是靠近固定垂直距离和固定高度的中间原因。我的意思是这显然是固定值的原因。所以我对像mentioned here这样的百分比位置进行了一些研究,但这是正确的方法吗?其他方式对我来说也很复杂。如何防止高度和垂直距离等固定值?有没有办法为iPhone 6设置48的固定高度,然后根据屏幕尺寸缩小按钮(对于IPhone SE)(底部垂直距离和其他固定值相同)?

有人可以给我任何建议,我可以在这里继续吗?

2 个答案:

答案 0 :(得分:0)

我试着尽可能地解释它有点复杂。

  

注意:自动布局就像逐步构建建筑物一样。

选择顶部按钮并添加这些约束(前导:8,尾随:8,并选择宽高比复选框) +并添加“水平中心和垂直中心约束“选择垂直中心约束并将其 乘数更改为1.5或相应地增大或减小它的值。

  

如果有任何警告,应该没有错误。

选择第二个按钮,然后将上限约束添加到8。选择这两个按钮并添加屏幕上突出显示的约束。enter image description here

在不同的屏幕上运行并检查。希望它有所帮助。

答案 1 :(得分:0)

  • bottomButton.bottom = superview.bottom * 0.9

OR

  • 按代码更改底部约束

        bottomConstraint.constant = xx
        self.view.layoutIfNeeded()