2016-03-23 135 views
0

我在這裏經歷了許多線索,並嘗試了兩種最推薦的解決方案。 裏面viewDidLoad中()方法:Swift - 根據尺寸屏幕設置UIView的尺寸

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,它仍然是每個設備大小相同的高度

+0

如果您正在使用自動佈局則應該在'viewwilllayoutsubviews'或框架'的視圖控制器的viewDidAppear'方法 – HardikDG

+0

您需要通過設置高度改變你給它的身高限制的'常數'。如果您使用自動佈局,直接更改框架不起作用 – dan

+0

@dan您能否提供更多詳細信息我應該怎麼做? – DCDC

回答

1

這可能是問題所在:

在界面構建器中,您將限制設置爲按鈕,因此當您嘗試更新框架時,它不會更改其高度。改爲:

首先將界面構建器的約束與您的視圖控制器連接,您將如何使用按鈕進行操作。

然後使用此代碼來改變約束:

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