问题:
我想以编程方式为视图控制器设置两种不同的背景颜色。
代码:
self.view.backgroundColor = .systemBackground
或
func setGradientBackground() {
let colorTop = UIColor.black.cgColor
let colorBottom = backgroundGray.cgColor
let gradientLayer = CAGradientLayer()
gradientLayer.colors = [colorTop, colorBottom]
gradientLayer.startPoint = CGPoint(x: 0, y: 0)
gradientLayer.endPoint = CGPoint(x: 1, y: -1)
//gradientLayer.locations = [0.0, 1.0]
gradientLayer.frame = self.view.bounds
self.view.layer.insertSublayer(gradientLayer, at:0)
}
我需要使用梯度系统来获得这个吗?梯度系统是很好的梯度,我想更多的一个坚实的顶部和底部的颜色。
如何获得
下面图像的所需输出
1条答案
按热度按时间kknvjkwl1#
因此,基于这个答案How to Apply Gradient to background view of iOS Swift App
我修改了
CAGradientLayer#locations
和CAGradientLayer#colors
,以在颜色之间提供“硬”停止我还可以考虑设计一个复合/复合视图,一个有两个视图来管理背景颜色,第三个是放在它们的顶部,作为“内容”视图。但这需要更多的杂耍。