我正在寻找一种在满足某些条件的情况下在应用启动时从NavigationView在WatchOS应用程序中“以一个级别”显示视图的方法。
我希望获得与我自己按下NavigationLink相同的效果,即能够再次返回NavigationView,如果我选择立即显示所需的视图,则无法实现。
“ navigationBarItems”也不适用于WatchOS,这使得如果不首先单击NavigationLink就无法向后导航。
是否可以通过编程方式“单击” NavigationLink来实现此目的?
答案 0 :(得分:5)
我对watchOS没有任何经验,但是我已经将"isActive" variant的NavigationLink用于类似的应用程序需求。
在初始视图中,定义一个@State var showOneLevelIn = false
(或其他绑定),然后将状态var设置为true,以使视图自动导航到第二级。 NavigationLink的标签为EmptyView(),因此在初始视图中将不可见。
NavigationLink(destination: OneLevelInView(), isActive: $showOneLevelIn, label: { EmptyView() })