如图所示,我试图将两个 viewController 连接到右侧的 viewController,该 viewController 充当 viewController 之间的菜单。
当应用程序首次运行时,它将加载顶部的第一个 View Controller 。按钮将以模态方式显示菜单,并且根据按下的按钮(我计划添加更多),将显示相应的 viewController。第一次按下 VC2 时,它将加载第二个 viewController,但是当再次调用菜单并按下 VC2 时,我希望它展开而不是重新加载 View Controller 。
我已成功展开到第一个 viewController,但是当尝试展开到第二个 viewController 时,该操作被忽略。对你的帮助表示感谢。谢谢。
最佳答案
您无法展开到先前未呈现过的 View Controller ,因为所需的目标 VC 将不会保存在导航 Controller 堆栈中。展开转场旨在在导航历史记录中“弹出”前几步。在您的场景中,唯一可用的弹出窗口是 VC1。
考虑到 UINavigationController 对象可以轻松提供此行为,您可能还想检查一下“菜单”概念。您也不需要两个单独的 UINavigationController 对象来实现您想要的。
为此,只需将菜单 VC 连接为 UINavigationController 的 Root View Controller ,然后将菜单按钮连接到 VC1 和 VC2。然后您将能够轻松地在三个屏幕之间移动(例如见下文)。
关于xcode - 在不同的导航堆栈中展开到 viewController 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32177911/