[swift] CoreAnimation 애니메이션 타이밍

CoreAnimation은 iOS 및 macOS 앱에서 애니메이션을 만들고 관리하는 데 사용되는 강력한 프레임워크입니다. CoreAnimation을 사용하면 다양한 애니메이션 효과를 쉽게 구현할 수 있습니다. 이때 애니메이션의 타이밍을 조절하는 것이 중요합니다. 타이밍은 애니메이션의 속도, 반복 및 완료 시점을 결정하는 데 사용됩니다.

애니메이션 타이밍 속성

CoreAnimation에서 애니메이션의 타이밍을 조절하기 위해 세 가지 속성을 사용합니다.

1. CAMediaTimingFunction

애니메이션의 가속 및 감속을 정의합니다. 이 클래스는 미리 정의된 타이밍 함수 또는 사용자 지정 타이밍 함수를 사용하여 애니메이션을 조절할 수 있습니다.

2. speed

애니메이션의 재생 속도를 조절합니다. 기본 값은 1.0이며, 0.0보다 클 때 빠르게, 작을 때 느리게 재생됩니다.

3. timeOffset

애니메이션의 시작 시점을 조절합니다. 이 속성은 양수 또는 음수 값을 가질 수 있으며, 애니메이션의 시작을 지연시키거나 시작 시점을 앞당길 수 있습니다.

예시

다음은 UIView의 애니메이션을 만들고 타이밍을 조절하는 예시입니다.

let animation = CABasicAnimation(keyPath: "position")
animation.fromValue = NSValue(cgPoint: CGPoint(x: 0, y: 0))
animation.toValue = NSValue(cgPoint: CGPoint(x: 100, y: 100))
animation.duration = 1.0
animation.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeInEaseOut)
view.layer.add(animation, forKey: "positionAnimation")

위 예시에서 easeInEaseOut 타이밍 함수가 사용되어 애니메이션의 가속과 감속이 조절됩니다.

CoreAnimation을 사용하여 애니메이션을 구현할 때 이러한 타이밍 속성을 조절하여 원하는 애니메이션 효과를 쉽게 만들 수 있습니다.

참고 자료