[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