如何使用SwiftUI更改根视图



我想使用SwiftUI将一个视图替换为另一个视图。

目前我使用NavigationView或.sheet转换到一个新视图,这可以很好地堆叠视图。

然而,我还没有找到一种方法来完全取代一个视图与另一个视图。例如,当用户第一次登陆应用程序时,它会提供登录或创建新帐户的选项。我想要任何一个选项来替换以前的视图,而不是出现在它的顶部。另一个例子是当用户退出应用程序时。我想要解散我的整个堆栈并替换为登录屏幕。不只是取消所有覆盖的视图

与pre swiftUI类似的是替换rootView。

只是在根视图中有条件地显示每个视图

var body: some View {
if isLoggedIn {
HomeView()
} else {
LoginView() {
}
}

最新更新