Как go вернуться из NavigationView / NavigationLink в ContentView / RootView - PullRequest
0 голосов
/ 30 января 2020

Я хочу установить значение флага внутри UserDefaults и перейти к ContentView? Проблема в том, что я не могу перемещаться по «Да» внутри ContentView, только флаг был переключен, и когда я нажимаю «Нет», я go возвращаюсь только к одному предварительному просмотру.

struct ContentView: View {

    @ObservedObject var appLaunch = AppLaunch()

    var body: some View {
        Group {
            if !appLaunch.isAppLaunchFirstTime {

                OnboardingNameView()

            }else {
                AppView()

            }
        }
    }
}

struct OnboardingResumeView: View {
    @ObservedObject var appLaunch = AppLaunch()
    var defaults = UserDefaults.standard
    @State private var userGender : String = ""


        var body: some View {

            VStack(alignment: .leading, spacing: 20) {
                Text(Metadata.OnboardingNavigationTitle._titleResumeView)
                .font(.system(.headline, design: .rounded))
                .fontWeight(.medium)
                    Text(Metadata.OnboardingResume._title)
                        .font(.system(.largeTitle, design: .rounded))
                    Text(Metadata.OnboardingResume._headline)
                        .font(.system(.headline, design: .rounded))
                List {
                    Text("Name: \(defaults.string(forKey: "name") ?? "not set")")
                    Text("Alter: \(defaults.string(forKey: "age") ?? "not set")")
                    Text("Gewicht: \(defaults.string(forKey: "weight") ?? "not set")")
                    Text("Größe: \(defaults.string(forKey: "height") ?? "not set")")
                    Text("Aktivitätslevel: \(defaults.string(forKey: "activity") ?? "not set")")
                    Text("Geschlecht: \(defaults.string(forKey: "gender") ?? "not set")")
                }
                HStack{
********** Here I want dismiss the NavigationView and go Back where the NavigationView begins **************  
                    NavigationLink(destination: OnboardingNameView()){
                        Text("No")
                        self.presentationMode.wrappedValue.dismiss()
                    }
                .padding()

                    Spacer()
********** Here I want go to the RootView / ContentView **************  
                    NavigationLink(destination: ContentView()){
                        Text("Yes")
                      .onTapGesture {
                      self.appLaunch.isAppLaunchFirstTime.toggle()
                      }
                    }
                .padding() 
                }
                }
                .navigationBarHidden(true)

            }
    }
...