2016-05-28 114 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?拍摄。

相关问题