如何使用3种颜色制作UIView渐变效果
How to make a UIView gradient effect using 3 colors
我也想使用中心色。有人可以帮我解决这个问题吗?
extension UIView {
func setGradientBackground(topColor: UIColor, bottomColor: UIColor) {
let gradientLayer = CAGradientLayer()
gradientLayer.frame = bounds
gradientLayer.colors = [topColor.cgColor, bottomColor.cgColor]
gradientLayer.locations = [0.0, 1.0]
gradientLayer.startPoint = CGPoint(x: 0.0, y: 0.0)
gradientLayer.endPoint = CGPoint(x: 0.0, y: 1.0)
layer.insertSublayer(gradientLayer, at: 0)
}
}
只需添加:
gradientLayer.colors = [topColor.cgColor, <centerColor.cgColor>,bottomColor.cgColor]
gradientLayer.locations = [0.0, 0.5, 1.0] //you can remove this line if you want even gradient.
gradientLayer.colors
和 gradientLayer.locations
不限于每个只有两个输入。
此外,就 startPoint
和 endPoint
分别默认为 (0.5,0.0) 和 (0.5,1.0)。你可以在这里参考它的样子:
您可以使用以下方式添加渐变:
func addGradient(){
let gradient = CAGradientLayer()
gradient.frame = self.bounds
gradient.colors = [UIColor.blue.cgColor,UIColor.red.cgColor,UIColor.green.cgColor]
gradient.startPoint = CGPoint(x: 0, y: 1)
gradient.endPoint = CGPoint(x: 1, y: 0)
gradient.locations = [0,0.5,1]
self.layer.addSublayer(gradient)
}
//这里self是一个UIView
endPoints 用于 UIView 的边界。这决定了渐变的方向。
locations 用于决定颜色必须位于的位置。
我也想使用中心色。有人可以帮我解决这个问题吗?
extension UIView {
func setGradientBackground(topColor: UIColor, bottomColor: UIColor) {
let gradientLayer = CAGradientLayer()
gradientLayer.frame = bounds
gradientLayer.colors = [topColor.cgColor, bottomColor.cgColor]
gradientLayer.locations = [0.0, 1.0]
gradientLayer.startPoint = CGPoint(x: 0.0, y: 0.0)
gradientLayer.endPoint = CGPoint(x: 0.0, y: 1.0)
layer.insertSublayer(gradientLayer, at: 0)
}
}
只需添加:
gradientLayer.colors = [topColor.cgColor, <centerColor.cgColor>,bottomColor.cgColor]
gradientLayer.locations = [0.0, 0.5, 1.0] //you can remove this line if you want even gradient.
gradientLayer.colors
和 gradientLayer.locations
不限于每个只有两个输入。
此外,就 startPoint
和 endPoint
分别默认为 (0.5,0.0) 和 (0.5,1.0)。你可以在这里参考它的样子:
您可以使用以下方式添加渐变:
func addGradient(){
let gradient = CAGradientLayer()
gradient.frame = self.bounds
gradient.colors = [UIColor.blue.cgColor,UIColor.red.cgColor,UIColor.green.cgColor]
gradient.startPoint = CGPoint(x: 0, y: 1)
gradient.endPoint = CGPoint(x: 1, y: 0)
gradient.locations = [0,0.5,1]
self.layer.addSublayer(gradient)
}
//这里self是一个UIView
endPoints 用于 UIView 的边界。这决定了渐变的方向。
locations 用于决定颜色必须位于的位置。