【问题标题】:UINavigationController skip push current view controllerUINavigationController 跳过推送当前视图控制器
【发布时间】:2016-07-29 22:33:51
【问题描述】:
我现在有 5 个视图控制器,视图控制器 1、2、3、4 和 5。我正在使用 UINavigationController。
我会按顺序进入,视图控制器 1,视图控制器 2,视图控制器 3,视图控制器 4
但是当我点击视图控制器 4 的左上角按钮时,默认情况下我会弹出到第三个视图控制器。我不想那样,我想弹出到第二个视图控制器。所以当我进入第三个视图控制器时,我想删除第三个视图控制器堆栈。所以我可以从第四个视图控制器转到第二个视图控制器。
有人知道怎么做吗?
【问题讨论】:
标签:
ios
swift
uinavigationcontroller
【解决方案1】:
当您单击按钮时,您可以执行以下操作:
navigationController?.viewControllers.removeAtIndex(2)
navigationController?.popViewControllerAnimated(true)
移除第 3 个视图控制器,然后弹出第 4 个,然后您将进入第 2 个。
【解决方案2】:
如果使用情节提要,您需要定义展开转场。将此添加到视图控制器 2:
@IBAction func unwindViewController2(segue:UIStoryboardSegue) {
}
返回故事板,现在您应该可以看到将按钮的操作链接到退出按钮时的函数