手动设置UI按钮边框宽度 - Swift编辑器

时间:2015-01-01 03:28:11

标签: swift

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

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

这样的代码来实现
button.layer.borderWidth = 1

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

您可以创建自定义类扩展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值。