我想使用 SwiftUI 将一个视图替换为另一个视图。
目前,我使用 NavigationView 或 .sheet 转换到新视图,并且可以很好地堆叠视图。
但是我还没有找到一种方法可以用另一个视图完全替换一个视图。例如,当用户首次登陆应用程序时,它将提供登录或创建新帐户的选项。我希望任一选项都可以替换以前的视图,而不是显示在它之上。另一个示例是当用户注销应用程序时。我想关闭整个堆栈并替换为登录屏幕。不只是忽略所有叠加的观点。
与 swiftUI 之前的类比就是替换 rootView。
您只需在根视图中有条件地显示每个视图
var body: some View {
if isLoggedIn {
HomeView()
} else {
LoginView() {
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3819 次 |
| 最近记录: |