我有3个嵌入在导航控制器堆栈中的View控制器。 RedVC,BlueVC和YellowVC。在每个视图控制器中,都有一个按钮将触发segue
从RedVC,我想导航到BlueVC或YellowVC。从RedVC到BlueVC和YellowVC的所有segue都使用推送显示segue连接,没有模态显示。
如果路线像这样没有问题:
RedVC-> BlueVC-> YellowVC
但是如果我将show segue从redVC直接推到YellowVC,YellowVC中的“后退”按钮将把我引导回到RedVC
我想,如果我从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/