在SwiftUI中以编程方式使用NavigationLink

时间:2019-09-11 13:10:34

标签: apple-watch swiftui watchos navigationlink

我正在寻找一种在满足某些条件的情况下在应用启动时从NavigationView在WatchOS应用程序中“以一个级别”显示视图的方法。

我希望获得与我自己按下NavigationLink相同的效果,即能够再次返回NavigationView,如果我选择立即显示所需的视图,则无法实现。

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

是否可以通过编程方式“单击” NavigationLink来实现此目的?

1 个答案:

答案 0 :(得分:5)

我对watchOS没有任何经验,但是我已经将"isActive" variant的NavigationLink用于类似的应用程序需求。

在初始视图中,定义一个@State var showOneLevelIn = false(或其他绑定),然后将状态var设置为true,以使视图自动导航到第二级。 NavigationLink的标签为EmptyView(),因此在初始视图中将不可见。

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