2016-05-28 110 views
1

我在想如何以編程方式創建一個具有動態高度取決於設備的UIButton。 比方說,我創建的按鈕是這樣的:Swift以動態高度以編程方式創建UIButton

bigButton = BigButton(frame: CGRect(x: 0, y: 0, width: self.view.frame.width , height: 60)) 

當設定高度,我需要把一個整數,但我想這是60PX,如果顯示是iPhone 6,50像素,如果iPhone 5。 .. 等等。

我知道如何做到這一點,如果我用IB創建按鈕,使用約束和我可以使用百分比高度的比例,但因爲我需要以編程方式創建按鈕,我有點卡住了。 在此先感謝!

+2

爲什麼不以編程方式添加高度約束? –

回答

1

下面是一些例子,你可以這樣做:

var dynamicHeight: CGFloat 
switch UIDevice().type { 
    case .iPhone4: 
     dynamicHeight = 40 
    case .iPhone5: 
     dynamicHeight = 50 
    case .iPhone5S: 
     dynamicHeight = 50 
    case .iPhone6: 
     dynamicHeight = 60 
    case .iPhone6plus: 
     dynamicHeight = 70 
    default: 
     dynamicHeight = 40 
} 

bigButton = BigButton(frame: CGRect(x: 0, y: 0, width: self.view.frame.width , height: dynamicHeight)) 

檢索設備類型的方法是從iOS: How to determine iphone model in Swift?拍攝。

相關問題