SwiftUI:如何使用 NavigationViews 切换到新的导航堆栈

And*_*mas 6 swift navigationview swiftui ios-navigationview

我目前正在使用 SwiftUI Beta 5。我有一个工作流程,涉及浏览一系列视图。最后一个视图涉及将数据加载到应用程序中并结束该特定工作流的操作。

下载数据后,用户应该能够启动新的工作流程。我想“忘记”旧的 NavigationView,因为一旦工作流完成,返回导航堆栈就没有用了。相反,我想然后导航到“启动”视图,该视图有效地成为新导航视图的根。

如何使用 SwiftUI NavigagationViews 使用导航堆栈中的一个视图导航到具有不同 NavigationView 的另一个视图(从而成为新导航堆栈的根)?

And*_*mas 0

这就是我们解决这个问题的方法:我们有一个主/根/启动视图,用户可以从中点击按钮来启动某种业务工作流程。这将打开一个工作表,其中将显示模式弹出视图。(可以自定义工作表的宽度和高度,以占据大部分/全部屏幕。)

该工作表将有一个导航视图。这将允许用户逐步浏览一系列视图作为其工作流程的一部分。“presented”标志作为绑定从主视图传递到每个导航视图。

当用户到达最后一个视图并点击提交/完成/完成按钮以结束该特定工作流程时,可以将“presented”绑定设置为 false,这将关闭模式弹出窗口,并将用户返回到主视图。