Language/Swift

SwiftUI 에서 onAppear() 이용하기

IFLA 2022. 12. 24. 07:00

 

UIKit 의 ViewDidDisplay() 기능을 SwiftUI에서는 onAppear()를 통해 이용할 수 있다.

 

기본 코드

struct OtherView: View {
	var body: some View {
		VStack {
			Text("Hello View!!")
		}
		.onAppear {
			print("Appear OtherView()")
		}
		.onDisappear {
			print("Disappear OtherView()")
		}
	}
}

struct ContentView: View {
	
	var body: some View {
		NavigationView {
			VStack {
				NavigationLink(destination: OtherView()) {
					Text("onAppear() & onDisappear()")
				}
			}
		}
	}
}

 

실행 화면

 

지연 효과 주기

DispatchQueue 를 이용하면 지연 효과를 줄 수 있다.

struct OnAppearBootcamp: View {
    @State var title: String = "안녕하세요"
    var body: some View {
        NavigationView {
            ScrollView {
                Text(title)
            }
            .onAppear(perform: {
                DispatchQueue.main.asyncAfter(deadline: .now() + 3){
                title = "서근개발블로그"
                }
            })
            .navigationBarTitle("onAppear Bootcamp")
        }
    }
}

 


개발자 Document

https://developer.apple.com/documentation/swiftui/view/onappear(perform:) 

 

Apple Developer Documentation

 

developer.apple.com