개발 - iOS SwiftUI

iOS SwiftUI onAppear에서 뷰 화면 이동 예제

개미v 2023. 10. 18. 08:02

onAppear에서 뷰 화면 이동을 하려면 NavigationPath와 NavigationStack을 사용해야 합니다.
그냥 화면 이동하는 것도 힘드네요.

하면 할 수록 Swift 이상함 ㅋㅋ

import SwiftUI
import WebKit

struct IntroView: View {

    @State var navigationPath = NavigationPath()
    
    var body: some View {
        NavigationStack(path: $navigationPath) {
            VStack {
            }
            .navigationDestination(for: String.self) { view in
                if view == "AgreeView" {
                    AgreeView()
                }
            }
            .onAppear {
                startMain()
            }
        }
    }
    
    func startMain() {
        // HTTP 요청

        // HTTP 요청 결과 처리
        
        // 신규 사용자의 경우 동의화면으로 이동
        guard let userId = userId else {
            navigationPath.append("AgreeView")
            return
        }
    }
}