let button = UIButton(frame: CGRect(x: 0, y: 100, width: SCREEN_WIDTH, height: 150))
button.backgroundColor = UIColor.clear
button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
self.view.addSubview(button)
//渐变颜色
let gradientLayer = CAGradientLayer()
gradientLayer.frame = button.frame
//设置渐变的主颜色(可多个颜色添加)
gradientLayer.colors = [UIColorHex("19d68d").cgColor, UIColorHex("1ad6a8").cgColor]
//将gradientLayer作为子layer添加到主layer上
button.layer.addSublayer(gradientLayer)
参考:简书地址