Swift以动态高度编程方式创建UIButton

时间:2016-05-28 16:15:36

标签: ios swift uibutton constraints

我想知道如何以编程方式创建具有动态高度的UIButton,具体取决于设备。 假设我创建了这样的按钮:

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

设置高度时,我需要输入一个整数,但如果显示适用于iPhone 6则需要60px,如果是iPhone 5则需要50px ......依此类推。

我知道怎么做如果我用IB创建按钮,使用约束,我可以使用百分比高度比例,但由于我需要以编程方式创建按钮,我有点坚持。 提前谢谢!

1 个答案:

答案 0 :(得分: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?