Definir gradiente de fundo no botão no Swift
Não tenho idéia de como definir o gradiente de plano de fundo em um botão (sem tornar o gradiente de plano de fundo uma imagem). Isso é tão diferente do Android.
Aqui está uma classe que tenho para definir um esquema de gradiente retornável:
import UIKit
extension CAGradientLayer {
func backgroundGradientColor() -> CAGradientLayer {
let topColor = UIColor(red: (0/255.0), green: (153/255.0), blue:(51/255.0), alpha: 1)
let bottomColor = UIColor(red: (0/255.0), green: (153/255.0), blue:(255/255.0), alpha: 1)
let gradientColors: [CGColor] = [topColor.CGColor, bottomColor.CGColor]
let gradientLocations: [Float] = [0.0, 1.0]
let gradientLayer: CAGradientLayer = CAGradientLayer()
gradientLayer.colors = gradientColors
gradientLayer.locations = gradientLocations
return gradientLayer
}
}
Posso usar isso para definir o plano de fundo de toda a minha exibição com o seguinte:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let background = CAGradientLayer().backgroundGradientColor()
background.frame = self.view.bounds
self.view.layer.insertSublayer(background, atIndex: 0)
}
//...
}
Mas como posso acessar a visualização do botão e inserir a subcamada ou algo parecido? Pesquisei no Google por algumas horas e não consigo encontrar nada útil. Estou muito perdido com isso.