我想在所有视图中添加渐变背景。我想到的方法是,创建一个新的 UIView 类,将 CAGradientLayer 的代码放入 draw() 方法中,以便在视图中绘制出来。这样,在界面构建器中,我只需要选择背景视图并将其类设置为我的自定义类即可。目前为止,它可以正常工作。
我的问题是:是否会出现问题?有人知道吗?因为从 UIView 继承的模型文件带有注释: //Only override draw() if you perform custom drawing.
我不知道是否需要创建一个层,或者 draw() 只适用于低级别的绘制之类的事情。对 draw() 函数的最佳用法一无所知。
下面是代码:
我的问题是:是否会出现问题?有人知道吗?因为从 UIView 继承的模型文件带有注释: //Only override draw() if you perform custom drawing.
我不知道是否需要创建一个层,或者 draw() 只适用于低级别的绘制之类的事情。对 draw() 函数的最佳用法一无所知。
下面是代码:
override func draw(_ rect: CGRect) {
let layer = CAGradientLayer()
layer.frame = CGRect(x: 0, y: 0, width: self.frame.width, height: self.frame.height)
let color1 = UIColor(red: 4/255, green: 39/255, blue: 105/255, alpha: 1)
let color2 = UIColor(red: 1/255, green: 91/255, blue: 168/255, alpha: 1)
layer.colors = [color1.cgColor, color2.cgColor]
self.layer.addSublayer(layer)
}