[swift] SwiftUI에서의 흔들리는 애니메이션 구현 방법

SwiftUI는 사용하기 쉬운 문법과 선언적 구문을 가지고 있어 iOS 앱 개발을 간편하게 만들어 줍니다. 특히 SwiftUI를 이용하면 UI 요소들에 다양한 애니메이션을 쉽게 적용할 수 있습니다. 이번 블로그에서는 SwiftUI를 이용하여 흔들리는(shaking) 애니메이션을 구현하는 방법에 대해 알아보겠습니다.

애니메이션 구현하기

SwiftUI에서의 애니메이션은 withAnimation 블록을 이용하여 해당 블록 내에 있는 UI 변경을 애니메이션으로 감싸는 방식으로 구현할 수 있습니다.

struct ShakingView: View {
    @State private var isShaking = false

    var body: some View {
        Text("Hello, SwiftUI!")
            .padding()
            .background(isShaking ? Color.red : Color.green)
            .onTapGesture {
                withAnimation(Animation.default.repeatCount(3).speed(5)) {
                    self.isShaking.toggle()
                }
            }
    }
}

위 코드에서 ShakingViewisShaking 상태 변수를 이용하여 배경색을 빨간색 또는 초록색으로 변경하고, onTapGesture를 이용하여 터치 이벤트가 발생할 때 isShaking 변수를 토글하고, 그에 따라 추가된 withAnimation 블록을 통해 흔들리는(shaking) 애니메이션을 구현하고 있습니다.

추가적인 애니메이션 효과 적용하기

withAnimation 블록 안에서 제공되는 다양한 메서드를 이용하여 애니메이션의 반복 횟수, 속도 등을 조절할 수 있습니다. 예를 들어, repeatCount, speed, delay, timingCurve 등을 이용하여 원하는 애니메이션 효과를 적용할 수 있습니다.

withAnimation(Animation.default.repeatCount(3).speed(5)) {
    // 애니메이션을 적용할 UI 변경
}

위와 같이 withAnimation 블록 안에서 여러 애니메이션 효과들을 조합하여 사용함으로써 다양한 효과의 애니메이션을 쉽게 적용할 수 있습니다.

이렇게 SwiftUI를 이용하여 흔들리는(shaking) 애니메이션을 구현하는 방법에 대해 알아보았습니다. SwiftUI의 간편한 문법을 이용하여 다양한 애니메이션 효과를 적용할 수 있다는 점은 iOS 앱 개발에 매우 유용하다고 할 수 있습니다.

더 많은 SwiftUI 관련 정보는 SwiftUI 공식 문서를 참고하시기 바랍니다.