我想在我的斯威夫特应用程序来创建以下用户流量:如何回弹到不同导航控制器中的视图?
- 用户点击一个按钮
- 模态的视图弹出了一个选择。用户选择一个选项。
- 第二个视图以另一种选择出现(使用“显示”转换,因此用户可以按< 返回以更改选择#1)。用户选择第二选择。
- 第二个模态视图回退到原始视图(其中有按钮)。通过传递到VC1参考一路走过来VC3,然后调用
--> NC1 --> VC1 --modal-> NC2 --> VC2 --show-> VC3 (NC = UINavigationController, ^ | VC = UIViewController) | | ----Segue I'm trying to achieve-----
我一直在努力,一直流行回VC1:
要做到这一点,我创建了以下结构VC3中的以下代码:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// Perform Segue
print("Trying to segue")
rootController!.navigationController!.popToRootViewControllerAnimated(true)
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}
其中rootController
是对VC1的引用。不幸的是,赛格不会发生。第二个模态视图停留在屏幕上,但我得到了“尝试继续”消息。
我试图以正确的方式实现这个用户流?如果是这样,任何建议,为什么我不能弹出到另一个导航控制器的根视图?
有包含在你驾驶的所有控制器的属性称为viewControllers,删除那些你想跳过 –