Swift - 根据大小屏幕设置UIView的大小

时间:2016-03-23 16:42:01

标签: ios swift uiview autolayout

我在这里经历了很多线程并尝试了两个最推荐的解决方案。 在ViewDidLoad()方法内部:

self.darkBackgroundWithButtons.frame = CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height * 0.254)

self.darkBackgroundWithButtons.frame = CGRectMake(0, 0, self.view.frame.width, self.view.frame.height * 0.254)

另外,在我的故事板中,我设置了视图高度约束的低优先级 (如果我没有在故事板中设置高度,xcode会抱怨模糊的布局)

但是上面这些代码行都没有对darkBackgroundWithButtons做任何事情,它对于每个设备大小都保持相同的高度

1 个答案:

答案 0 :(得分:1)

这可能是问题所在:

在界面构建器中,您将约束设置为按钮,因此在尝试更新框架时不会更改其高度。这样做:

首先将你的约束从界面构建器连接到你的viewcontroller,就像你通常用按钮一样。

然后使用此代码更改约束:

 var index = self.darkBackgroundWihButtons.constraints.indexOf("your constrain name")!
 self.darkBackgroundWithButtons.constraints[index].constant = 0.2 // or whatever number you want