[swift] CoreAnimation 기본 개념

CoreAnimation은 애플리케이션 사용자 인터페이스(UI)의 부드러운 애니메이션을 제공하는 프레임워크입니다. CoreAnimation은 여러 시각적 요소를 화면에 자연스럽게 표현할 수 있도록 해주며, iOS 및 macOS 애플리케이션에서 주로 사용됩니다.

핵심 개념

CALayer

모든 애니메이션 객체는 CALayer의 서브클래스입니다. CALayer는 화면에 내용을 그리고 애니메이션 효과를 적용하는 데 사용됩니다. 모든 시각적 요소는 CALayer 객체에 속합니다.

CAMediaTiming

CALayer에서 애니메이션의 시간과 타이밍을 관리하는 인터페이스입니다. 애니메이션의 시작 및 종료 시간, 지연 시간 및 반복 횟수 등을 제어할 수 있습니다.

CAAnimation

실제 애니메이션 효과를 정의합니다. Position, opacity, scale, rotation 등의 속성을 애니메이션화할 수 있습니다.

CoreAnimation 사용하기

let animation = CABasicAnimation(keyPath: "position")
animation.fromValue = NSValue(cgPoint: CGPoint(x: 0, y: 0))
animation.toValue = NSValue(cgPoint: CGPoint(x: 200, y: 200))
animation.duration = 2
myLayer.add(animation, forKey: "position")

위의 코드는 CALayer에 위치 애니메이션을 적용하는 예시입니다. 애니메이션을 생성하고, 시작 위치와 끝 위치, 지속 시간을 설정한 뒤 CALayer에 추가합니다.

CoreAnimation은 애플리케이션에서 유연하고 부드러운 애니메이션 기능을 제공하며, 다양한 시각적 요소를 화면에 표현하는 데 유용하게 활용됩니다.

더 자세한 내용은 Apple Developer 문서를 참고하시기 바랍니다.