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()
}
}
}
}
참고자료
Uploaded by N2T