Я хочу установить значение флага внутри 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)
}
}