swift 自定义按钮

在开发的时候,默认的UI有时候并不能满足我们的要求,我们可能需要一套具有主题的按钮,为了避免使用按钮的时候,每次都需要重写大量UI代码,我们就需要定义一套公共的按钮进行复用。

Swift自定义按钮其实很简单,只要继承UIButton,并重写其中的init方法就可以。

使用的时候直接创建对象,设置按钮文字即可。

按钮效果:


10361617787780_.pic.jpg

示例代码:

class MainButton: UIButton {
    override init(frame: CGRect) {
        super.init(frame: frame)
    
        // gradientCode
        let gradient1 = CAGradientLayer()
        gradient1.colors = [UIColor(red: 0.45, green: 0.7, blue: 1, alpha: 1).cgColor, UIColor(red: 0.27, green: 0.46, blue: 1, alpha: 1).cgColor]
        gradient1.locations = [0, 0.99]
        gradient1.startPoint = CGPoint(x: 0.0, y: 0.0)
        gradient1.endPoint = CGPoint(x: 0.0, y: 1.0)
        gradient1.frame = CGRect(x: 0, y: 0, width: frame.size.width, height: frame.size.height)
        layer.addSublayer(gradient1)
        layer.cornerRadius = 5
        clipsToBounds = true
        
        setTitleColor(.white, for: .normal)
        titleLabel?.font = UIFont.systemFont(ofSize: 15)
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

你可能感兴趣的:(swift 自定义按钮)