【发布时间】:2017-01-26 04:34:39
【问题描述】:
假设我在堆栈中有四个 VC:View1、View2、View3 和 View4。完成 View4 后,我想返回 View2 而不是跳到 View3。
我目前用来完成此操作的代码是:
let allViewControllers = self.navigationController?.viewControllers
for thisVC in allViewControllers!{
if thisVC.isKind(of: View2.self){
self.navigationController?.popToViewController(thisVC, animated: true)
}
}
我遇到的问题是我在最终登陆 View2 之前看到 View3 动画。换句话说,我按下 View4 上调用上述代码的按钮,然后它会短暂弹出到 View3,然后再弹出到 View2。有什么方法可以直接跳转到 View2 而不会看到中间的 View3 吗?
如果相关,这里是我用来从 View3 推送 View4 的代码
let vc = self.storyboard!.instantiateViewController(withIdentifier: "View3") as! View3ViewController
self.navigationController?.pushViewController(vc, animated: true)
【问题讨论】:
-
抱歉,我无法重现所描述的行为,无论是在设备上还是在模拟器中(即使有动画调试)。我没有看到中间的 ViewControllers,动画直接转到 View2 控制器。
-
嗯,这很奇怪。从 View3 推送 View4 时,也许我做错了什么。我将编辑我的问题以包含该代码。
标签: swift uinavigationcontroller