Apple Developer Documentation

Hello world

let gradientLayer = CAGradientLayer()
gradientLayer.frame = self.view.bounds
gradientLayer.colors = [UIColor.blue, UIColor.red] //UIColor.blue.cgColor 
self.view.layer.addSublayer(gradientLayer)

<aside> ⚠️ gradientLayer의 color 타입은 cgColor ! UIColor를 집어넣어도 에러메세지를 출력하지 않는다.

</aside>

<aside> 💡

mask?의 정확한 의미? 사용법? 용도?

</aside>

get color between gradient

iOS Find Color at Point Between Two Colors

1번째 방법은 각각의 rgb에 하단 공식을 사용함

CGFloat(r1 + (r2 - r1) * percentage)

다음과 같은 로직을 사용해서 비율별로 그라데이션 효과를 가져오는데,

이방법으로는 .linear 옵션밖에는 color를 가져오지 못할거 같다😭

그라데이션에 애니메이션 적용

iOS) CAGradientLayer / CABasicAnimation - 색상이 변하는 그라데이션

let colorAnimation = CABasicAnimation(keyPath: "colors")
// animation layer
let colors: [CGColor] = changeCAColors.reversed()
colorAnimation.toValue = colors
colorAnimation.duration = 2
colorAnimation.autoreverses = true
colorAnimation.repeatCount = .infinity
gradientLayer.add(colorAnimation, forKey: "colorChangeAnimation")

&ref

https://www.raywenderlich.com/10317653-calayer-tutorial-for-ios-getting-started#toc-anchor-014