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



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

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

设置高度时,我需要输入一个整数,但如果显示适用于iPhone 6,我希望它是60px,如果iPhone 5...等等,则为50px。

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

下面是您可以执行的操作的示例:

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:如何在 Swift 中确定 iphone 型号?

最新更新