如何从呈现的 ViewController 推送?

man*_*yap 9 ios swift swift4 swift5

我想做的是:

VC1 -> 呈现 VC2 -> 推送 VC3

这是我想要的正常流程。

之后在后退按钮上(每个 VC 上都有后退按钮)

我需要向用户显示后退:

VC3 -> 现在 VC2 -> VC1

如何在 Swift 5 中实现这种导航?

Ram*_*vam 11

//VC1
@IBAction func presentVC2() {
    let vc2 = VC2()
    vc2.modalPresentationStyle = .fullScreen
    self.present(vc2, animated: true, completion: nil)
}

//VC2
@IBAction func presentVC3() {
    let vc3 = VC3()
    let navController = UINavigationController(rootViewController: vc3) //Add navigation controller
    navController.modalPresentationStyle = .fullScreen
    self.present(navController, animated: true, completion: nil)
}

//VC3
@IBAction func navigationVC4() {
    let vc4 = VC4()
    self.navigationController?.pushViewController(vc4, animated: true)
}
Run Code Online (Sandbox Code Playgroud)


Men*_*aim 2

来自苹果文档

呈现视图控制器负责解除它呈现的视图控制器。

所以你需要先关闭它,然后你可以导航到你想要的viewController,你可以在dismiss函数完成时实现它