Post

Replies

Boosts

Views

Activity

Reply to How to switch SwiftUI Views?
You can try something like this, at least is it working for me. import SwiftUI enum Page { case LoginView case MainView } class PageManager: ObservableObject{ @Published var page: Page init(page: Page) { self.page = page } } @main struct RandomApp: App { @ObservedObject var pageManager = PageManager(page: .LoginView) var body: some Scene { WindowGroup { switch(pageManager.page){ case Page.LoginView: LoginView() .environmentObject(pageManager) case Page.MainView: MainView() .environmentObject(pageManager) } } } } In any of your views: pageManager.page = .MainView struct LoginView: View { @EnvironmentObject var pageManager: PageManager ... func login(username: String, password: String) -> Bool { // In here your check to see if username/password are valid if username == "x", password == "x" { pageManager.page = .MainView return true } return false } }
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Aug ’23