맛동산이

SwiftUI) Transition 본문

앱/SwiftUI

SwiftUI) Transition

진ddang 2023. 7. 5. 01:12

Transition?

  • 뷰를 보여질때와 제거할때의 애니메이션

    Transition 의미는 뷰를 이동할때의 개념보다는, 뷰를 보여지게할때와 사라지게할때의 애니메이션이다.

Transition은 인스턴스 메소드이다.

구현부를 보면, 파라미터 값으로 AnyTransition이라는 값을 받게 되는데 해당 값은 뷰가 어떠한 변화를 감지했을때 이를 추가한 뷰를 다시 리턴해주는 방식으로 작용한다.

AnyTransition

anytransition은 어떠한 타입의 트렌지션을 줄지에 대한것이며 구조체이다.

따라서 뷰에 transition을 주고, .anytransition중에 하나를 선택해서 보내주면, 해당 트렌지션이 작동하는 view를 리턴해주느 방식인 것이다.

예시코드

struct ContentView: View {
    @State private var isAnimation = false
    
    var body: some View {
        VStack {
            if isAnimation {
                    Rectangle()
                        .foregroundColor(.red)
                        .transition(.move(edge: .bottom))
                        .animation(.easeIn(duration: 3))
            }
            Button("Animate") {
                isAnimation.toggle()
            }
        }
    }
}


참고자료

[iOS - SwiftUI] Transition, AnyTransition 사용 방법 (slide, move, scale, opacity, asymmetric)
목차) SwiftUI의 기본 - 목차 링크 Transition 뷰를 보여질때와 제거할때의 애니메이션 주의: Transition 의미는 뷰를 이동할때의 개념보다는, 뷰를 보여지게할때와 사라지게할때의 애니메이션 개념으로 이해 뷰에 .transition(_:)으로 선언하여 사용이 가능 .transition(_:)에 들어가는 인수는 AnyTransition AnyTransition 위에서 알아봤듯이 .transition(_:) 인수에 들어가는 값 /// A type-erased transition. @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *) @frozen public struct AnyTransition { } AnyTransition은 exte..
https://ios-development.tistory.com/1144

Uploaded by N2T

반응형