在不同的导航堆栈中展开到 viewController 不起作用

Unwinding to viewController in different Navigation stack not working

如图所示,我试图将两个 viewController 连接到右侧的 viewController,用作 viewController 之间的菜单。

当应用首次 运行 时,它会在顶部加载第一个视图控制器。一个按钮将以模态方式显示菜单,并且根据按下哪个按钮(我打算添加更多)将显示相应的 viewController。第一次按下 VC2 时,它将加载第二个 viewController,但是当再次调用菜单并按下 VC2 时,我希望它展开而不是重新加载视图控制器。

我已经设法展开到第一个 viewController,但是当我试图展开到第二个 viewController 时,该操作被忽略了。对你的帮助表示感谢。谢谢你。

您无法展开到之前未呈现的 viewcontroller,因为所需的目的地 VC 不会保留在导航控制器堆栈中。 Unwind segues 旨在 'pop' 导航历史中的几个步骤。在您的场景中,唯一可能的流行音乐是 VC1.

考虑到 UINavigationController 对象可以毫不费力地提供此行为,您可能还想回顾一下您的 'menu' 概念。您也不需要两个单独的 UINavigationController 对象来实现您想要的。

为此,只需将菜单 VC 连接为 UINavigationController 的根视图控制器,然后将菜单按钮连接到 VC1 和 VC2。然后您就可以轻松地在三个屏幕之间移动(参见下面的示例)。