[swift] CoreAnimation 회전 애니메이션

CoreAnimation을 사용하면 iOS 애플리케이션에서 다양한 애니메이션 효과를 쉽게 구현할 수 있습니다. 이번 글에서는 회전 애니메이션을 CoreAnimation을 사용하여 구현하는 방법을 알아보겠습니다.

CoreAnimation 소개

CoreAnimation은 iOS 및 macOS 애플리케이션의 그래픽 레이어를 구성하고 애니메이션 및 그래픽 이펙트를 쉽게 추가할 수 있도록 하는 프레임워크입니다. CoreAnimation을 사용하면 성능이 우수하고 부드러운 애니메이션을 구현할 수 있습니다.

회전 애니메이션 구현하기

CALayer 클래스의 transform 프로퍼티를 사용하여 회전 애니메이션을 구현할 수 있습니다. 다음은 UIView의 layer를 회전하는 예제 코드입니다.

import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        let view = UIView(frame: CGRect(x: 100, y: 100, width: 100, height: 100))
        view.backgroundColor = UIColor.red
        self.view.addSubview(view)

        let animation = CABasicAnimation(keyPath: "transform.rotation.z")
        animation.fromValue = 0
        animation.toValue = CGFloat.pi * 2.0
        animation.duration = 2
        animation.repeatCount = Float.infinity
        view.layer.add(animation, forKey: "rotationAnimation")
    }
}

위 코드에서는 CABasicAnimation을 사용하여 transform.rotation.z에 대한 애니메이션을 생성합니다. fromValuetoValue에 각각 초기 각도와 최종 각도를 지정하고, duration에 애니메이션의 지속 시간을, repeatCount에 애니메이션 반복 횟수를 설정합니다.

마치며

CoreAnimation을 사용하면 간단한 코드 몇 줄로도 다양한 애니메이션 효과를 구현할 수 있습니다. 회전 애니메이션 외에도 CoreAnimation을 사용하여 이동, 크기 조절, 페이드인/아웃 등의 다른 애니메이션 효과도 동일한 방법으로 구현할 수 있습니다. CoreAnimation을 활용하여 애플리케이션에 화려한 애니메이션 효과를 추가해보세요.