Если кто-то все еще ищет решение, Apple наконец-то представила .conic
тип градиента в iOS 12. Идеально подходит для маскировки, чтобы создать круговой индикатор с градиентом.
Пример:
let gradientLayer = CAGradientLayer()
gradientLayer.startPoint = CGPoint(x: 0.5, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 0.5, y: 0)
gradientLayer.type = .conic
gradientLayer.colors = [UIColor.red.cgColor, UIColor.orange.cgColor, UIColor.green.cgColor]
gradientLayer.frame = bounds