[ios] SwiftUI 애니메이션 효과
SwiftUI는 간단하면서도 강력한 애니메이션 효과를 다룰 수 있게 해줍니다. SwiftUI로 애니메이션을 추가하는 방법을 살펴보겠습니다.
애니메이션 뷰 추가
SwiftUI에서 애니메이션 뷰를 추가하려면 withAnimation
함수를 사용하세요. 이 함수는 특정 코드 블럭 내에서 애니메이션을 시작하고 끝내주는 역할을 합니다.
struct ContentView: View {
@State private var isAnimating = false
var body: some View {
Button("애니메이션 추가") {
withAnimation {
self.isAnimating.toggle()
}
}
.scaleEffect(isAnimating ? 1.5 : 1.0)
}
}
위 예제에서는 버튼 클릭 시 isAnimating
의 상태에 따라 크기가 조절되는 간단한 애니메이션을 보여줍니다.
애니메이션 타이밍 및 이징 제어
애니메이션의 타이밍이나 이징을 제어하려면 withAnimation
함수 내에 애니메이션 설정을 추가할 수 있습니다.
withAnimation(.easeInOut(duration: 2)) {
self.isAnimating.toggle()
}
위의 예제에서는 easeInOut
이징과 2초 동안 애니메이션이 실행됩니다.
다양한 애니메이션 효과
SwiftUI에서 제공하는 다양한 애니메이션 효과는 주로 View
프로토콜을 확장하여 사용합니다.
예를 들어, rotationEffect
를 사용하여 회전 애니메이션을 추가할 수 있고, offset
을 사용하여 위치를 이동하는 애니메이션을 추가할 수 있습니다.
Circle()
.offset(x: isAnimating ? 50 : 0, y: 0)
.animation(.easeInOut(duration: 2))
결론
SwiftUI는 풍부한 애니메이션 효과를 제공하여 사용자에게 뛰어난 사용자 경험을 제공할 수 있습니다. withAnimation
함수를 사용하여 간단한 애니메이션부터 복잡한 애니메이션까지 쉽게 구현할 수 있습니다.
더 많은 정보는 Apple 공식 SwiftUI 문서에서 확인할 수 있습니다.