[swift] SwiftUI에서의 반복 애니메이션 적용하기
SwiftUI를 사용하여 애니메이션을 적용할 때, 종종 해당 애니메이션을 반복하고 싶을 때가 있습니다. SwiftUI에서는 repeatForever
메서드를 사용하여 쉽게 애니메이션을 반복시킬 수 있습니다.
애니메이션을 적용할 View 준비하기
먼저, 애니메이션을 적용할 View를 준비해야 합니다. 예를 들어, 원을 화면에 표시하고 해당 원을 애니메이션으로 이동시키고 싶다고 가정해봅시다.
import SwiftUI
struct MovingCircleView: View {
@State private var position = CGPoint(x: 50, y: 50)
var body: some View {
Circle()
.frame(width: 50, height: 50)
.position(position)
.onAppear {
withAnimation(Animation.linear(duration: 2).repeatForever(autoreverses: true)) {
position = CGPoint(x: 300, y: 300)
}
}
}
}
위의 코드에서는 MovingCircleView
를 정의하고, 해당 View에 Circle
을 표시하였습니다. 또한, position
변수를 사용하여 원의 위치를 표현하였고, 해당 위치를 애니메이션으로 변경하겠다는 의도로 onAppear
블록 내에서 withAnimation
을 사용하여 애니메이션을 적용했습니다.
애니메이션 반복 적용하기
이제 repeatForever
메서드를 사용하여 애니메이션을 반복하도록 설정하겠습니다. 위 예제에서는 repeatForever
메서드를 사용하여 원을 이동시키는 애니메이션을 계속 반복하도록 설정한 것입니다.
완료
이제 SwiftUI에서 애니메이션을 반복 적용하는 방법을 알아보았습니다. 위의 방법을 활용하여 여러 가지 형태의 애니메이션을 쉽게 반복시킬 수 있습니다. 본 예제는 Circle을 대상으로 하였지만, 이와 유사한 방식으로 다양한 View 및 애니메이션에도 적용할 수 있습니다.