I am drawing triangle using following code
class TriangleView : UIView {
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func draw(_ rect: CGRect) {
guard let context = UIGraphicsGetCurrentContext() else { return }
context.beginPath()
context.move(to: CGPoint(x: (rect.maxX / 2.0), y: rect.maxY))
context.addLine(to: CGPoint(x: rect.maxX, y: rect.minY))
context.addLine(to: CGPoint(x: rect.minX, y: rect.minY))
context.closePath()
context.setFillColor(red: 0.0, green: 0.7, blue: 0.0, alpha: 1)
context.fillPath()
}
}
second last line is filling color with green. I want to replace this green color with gradient.
The code I tried is bellow
let triangle = TriangleView(frame: CGRect(x: triangleX, y: triangleY, width: triangleWidth , height: triangleHeight))
// MAKING GRADIENT COLOR
gradientLayer = CAGradientLayer()
gradientLayer.colors = [UIColor.red.cgColor, UIColor.yellow.cgColor]
triangle.layer.addSublayer(gradientLayer)
triangle.backgroundColor = UIColor.clear
it has no effect, color is still green