如果满足特定条件,我希望在WatchOS应用程序的启动时从NavigationView中的“一级”显示视图。
我想要与我自己按下NavigationLink相同的效果,即能够返回到NavigationView,如果我选择立即显示所需的视图,则无法实现该效果。
WatchOS也不支持“navigationBarItems”,这使得无法在实际点击NavigationLink之前向后导航。
有没有一种程序化“点击”NavigationLink的方法来实现这一点?
如果满足特定条件,我希望在WatchOS应用程序的启动时从NavigationView中的“一级”显示视图。
我想要与我自己按下NavigationLink相同的效果,即能够返回到NavigationView,如果我选择立即显示所需的视图,则无法实现该效果。
WatchOS也不支持“navigationBarItems”,这使得无法在实际点击NavigationLink之前向后导航。
有没有一种程序化“点击”NavigationLink的方法来实现这一点?
我没有使用watchOS的经验,但我曾在类似的应用程序需求中使用了导航链接的"isActive"变体。
在你的初始视图中,定义一个@State var showOneLevelIn = false
(或其他绑定),如果你想让视图自动导航到第二层,则将该状态变量设置为true 。导航链接的标签是EmptyView(),所以它不会在你的初始视图中显示。
NavigationLink(destination: OneLevelInView(), isActive: $showOneLevelIn, label: { EmptyView() })
.disabled(true)
来关闭navigationLink
的点击功能,添加.hidden()
来隐藏导航箭头。 - Iaenhaall