在 SwiftUI 中以编程方式使用 NavigationLink

Use NavigationLink programmatically in SwiftUI

我正在寻找一种方法,在满足特定条件的情况下,在我的 WatchOS 应用程序 "one level in" 中从应用程序启动时的 NavigationView 显示视图。

我想要与我自己按下 NavigationLink 相同的效果,即能够再次返回到 NavigationView,如果我选择立即显示所需视图,这是不可能的。

"navigationBarItems" 也不适用于 WatchOS,这使得如果不首先实际单击 NavigationLink 就无法向后导航。

有没有办法以编程方式 "click" NavigationLink 来实现这一点?

我没有任何使用 watchOS 的经验,但我使用 "isActive" variant 的 NavigationLink 来满足类似的应用需求。

在您的初始视图中,定义一个 @State var showOneLevelIn = false(或其他一些绑定)并将该状态变量设置为 true 如果您希望视图自动导航到您的第二个级别。 NavigationLink 的标签是一个 EmptyView(),因此它在您的初始视图中是不可见的。

NavigationLink(destination: OneLevelInView(), isActive: $showOneLevelIn, label: { EmptyView() })