自定义UIbutton默认颜色Xcode Swift

时间:2018-12-09 22:58:52

标签: ios swift uibutton

我试图像这样创建一个自定义UIButton类,但是我看不到backGround颜色已更新,也不会在检查器中显示为默认颜色。我希望它是这样,以便我可以从此类文件中更改这些实例的所有颜色,而不必为每个按钮手动设置它。

import UIKit

@IBDesignable class PrimaryButton: UIButton {

    @IBInspectable var borderwidth: CGFloat = 0.0 {
      didSet {
        self.layer.borderWidth = borderwidth
      }
   }
   @IBInspectable var cornerradius: CGFloat = 4.0 {
      didSet {
        self.layer.cornerRadius = cornerradius
      }}
   }
    @IBInspectable var backgroundcolor: UIColor = UIColor.red {
      didSet {
        self.layer.backgroundColor = backgroundcolor.cgColor
      }
    }
}

1 个答案:

答案 0 :(得分:1)

您可以尝试像这样创建自定义类,然后为IB中的任何按钮设置它

@IBDesignable class MyNewButton: UIButton {

    override init(frame: CGRect) {
        super.init(frame: frame)
        shared()
    }
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        shared()
    }

   override func prepareForInterfaceBuilder() {
       super.prepareForInterfaceBuilder()
       shared()
   }
   func shared() {

        //TODO: add any custom settings here
        self.layer.cornerRadius = value
        self.layer.borderWidth = value
        self.layer.borderColor = UIColor.red.cgColor
   }

}