Swift | Как применить градиент к UIButton и сделать текст жирным на кнопке?
Всем привет! Хочу сделать кнопку с градиентом и жирным текстом, но как только я изменяю толшину и размер шрифта в кнопке, градиент пропадает. Если строчку с изменением шрифта комментирую, градиент появляется. Не могу понять в чем проблема, куда копать?
extension UIView {
func applyGradient() {
let lightBlue = UIColor(named: "lightBlue")!
let blue = UIColor(named: "blue")!
let gradient: CAGradientLayer = CAGradientLayer()
gradient.frame = self.bounds
gradient.colors = [lightBlue.cgColor, blue.cgColor]
gradient.locations = [0.0, 1.1]
self.layer.insertSublayer(gradient, at: 0)
}
}
class LoginViewController
private let loginButton: UIButton = {
let button = UIButton()
button.setTitle("Login", for: .normal)
button.layer.cornerRadius = 20
button.clipsToBounds = true
button.titleLabel?.font = UIFont.systemFont(ofSize: 20, weight: .semibold) // !!!
return button
}()
override func viewDidLayoutSubviews() {
self.loginButton.applyGradient()
}
Источник: Stack Overflow на русском