[swift] CoreAnimation 이동 애니메이션

CoreAnimation을 사용하면 iOS 앱에서 View의 애니메이션을 만들 수 있습니다. View를 이동하는 애니메이션을 만들기 위해서는 CALayer를 사용하여 View의 위치를 변경해야 합니다. 아래는 Swift로 CoreAnimation을 사용하여 View를 이동하는 예제입니다.

먼저, UIView의 extension으로 다음과 같이 move 메서드를 추가합니다.

extension UIView {
    func move(to destination: CGPoint, duration: TimeInterval, timingFunction: CAMediaTimingFunction = .init(name: .easeInEaseOut)){
        let animation = CABasicAnimation(keyPath: "position")
        animation.fromValue = NSValue(cgPoint: self.center)
        animation.toValue = NSValue(cgPoint: destination)
        animation.duration = duration
        animation.timingFunction = timingFunction
        self.layer.add(animation, forKey: "position")
        self.layer.position = destination
    }
}

이제, UIView를 만들고 move 메서드를 사용하여 View를 이동합니다.

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

sampleView.move(to: CGPoint(x: 200, y: 200), duration: 1.0)

이 코드는 UIView를 생성하고, move 메서드를 사용하여 View를 (200, 200) 위치로 1초 동안 이동시킵니다.

이렇게하면 CoreAnimation을 사용하여 View를 이동시키는 간단한 방법을 확인할 수 있습니다.

더 많은 CoreAnimation에 관한 정보는 아래 공식 문서를 참고하세요.

Core Animation Programming Guide