Я знаю, что этот вопрос может выглядеть как дубликат, однако большинство ответов не учитывают факт прокрутки в представлении.
Когда я прокручиваю, цвет градиента остается постоянным по всей прокрутке, а не только для фона. Например, высота представления составляет 1500, а текущее представление, на которое я смотрю, составляет (пример) 450, тогда в этих 450 градиент является постоянным по всем остальным 1050, вместо того чтобы при прокрутке он становился все темнее и темнее (до другой цвет). Вот изображение для лучшего понимания
https://ibb.co/euKcLd
https://ibb.co/bHNxLd
https://ibb.co/eZgA6J
И вот код, который я использую:
func setGradientColour() {
let colorTop = UIColor(red: 255.0/255.0, green: 149.0/255.0, blue: 0.0/255.0, alpha: 1.0).cgColor
let colorBottom = UIColor(red: 255.0/255.0, green: 0/255.0, blue: 0/255.0, alpha: 1.0).cgColor
let gradientLayer = CAGradientLayer()
gradientLayer.colors = [colorTop, colorBottom]
gradientLayer.locations = [0.0, 1.0]
gradientLayer.frame = self.view.bounds
self.view.layer.insertSublayer(gradientLayer, at: 0)
}
Который вызывается в методе viewDidLoad.