ios - 如何从根 View  Controller 到导航堆栈中的最后一个 View  Controller 快速执行segue?-LMLPHP

我有3个嵌入在导航控制器堆栈中的View控制器。 RedVC,BlueVC和YellowVC。在每个视图控制器中,都有一个按钮将触发segue

从RedVC,我想导航到BlueVC或YellowVC。从RedVC到BlueVC和YellowVC的所有segue都使用推送显示segue连接,没有模态显示。

如果路线像这样没有问题:
RedVC-> BlueVC-> YellowVC

但是如果我将show segue从redVC直接推到YellowVC,YellowVC中的“后退”按钮将把我引导回到RedVC

ios - 如何从根 View  Controller 到导航堆栈中的最后一个 View  Controller 快速执行segue?-LMLPHP

我想,如果我从RedVC切换到YellowVC,我希望YellowVC中的“后退”按钮会将我定向到BlueVC,而不是RedVC。

如何做到这一点?

最佳答案

如果您正在从RedVC迁移到YellowVC,则在轻按yellowVC之后,您将无法回到BlueVC。

但这可以通过以下方式实现:

在BlueVC中保留一个名为:shouldShowYellowDirectly的标志变量,并在prepareForSegueMethod中从RedVC设置其值true

在BlueVC中执行以下操作:

override func viewDidLoad() {
        super.viewDidLoad()

   if shouldShowYellowDirectly{
    performSegue(withIdentifier: "showYellow", sender: self)
   }
}

它将显示BlueVC秒。

关于ios - 如何从根 View Controller 到导航堆栈中的最后一个 View Controller 快速执行segue?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50168288/

10-12 01:56