手动设置 UI 按钮边框宽度 - Swift editor

Manually setting UI button border width - Swift editor

我需要创建多个 UI 按钮,并希望在创建这些按钮时初始化每个按钮的边框宽度,并在屏幕中组织它们。

Xcode swift 编辑器具有配置 UI 按钮的多个属性的属性,但我没有看到设置边框宽度的方法。另一种选择是通过

这样的代码来完成
button.layer.borderWidth = 1

但是如果我创建 n 个按钮,我需要插入 n 个插座引用来设置每个按钮的边框宽度,我不想这样做。是否有任何简单的解决方案,以便一旦我创建了一个具有给定边框宽度的按钮,我就可以使用复制粘贴创建副本。

您可以通过编程方式执行类似的操作。

     for view in self.view.subviews
     {
        if view.isKindOfClass(UIButton)
        {
            view.layer.borderWidth = 1
        }
     }

您可以创建自定义 class 扩展 UIButton。

class BorderButton : UIButton {
    init(frame: CGRect) {
        super.init(frame: frame)
        layer.borderWidth = 1
    }
}

此外,您想像这样自定义 borderWidth 值:

@IBDesignable
class BorderButton : UIButton {

    @IBInsepctable borderWidth: CGFloat = 0 {
        didSet {
            layer.borderWidth = borderWidth
        }
    }

    init(frame: CGRect) {
        super.init(frame: frame)
        borderWidth = 1
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        borderWidth = 1
    }
}

使用@IBDesignable 和@IBInspectable,您可以从情节提要中设置borderWidth 值。