所以我有四个视图控制器,A,B,C,D,它们按顺序显示。让我们说我在视图C,我想去查看D,所以我将视图控制器D推入导航控制器堆栈,但是,我想要的是当D尝试返回时它直接转到视图控制器B而不是C。
有没有特定的方法来实现这一目标?逻辑方式是执行popViewController,然后执行pushViewController:C。我试过这个并且它没有用完。
答案 0 :(得分:1)
不是按D键,而是使用命令A,B和D的视图控制器数组在导航控制器上调用-setViewControllers:animated:
。
答案 1 :(得分:0)
如果A位于堆栈的底部,则可以使用popToRootViewControllerAnimated:
;如果位于堆叠的中间位置,则可以使用popToViewControllerAnimated:
。
答案 2 :(得分:0)
所以顺序是A-> B-> C-> D对吗?从D开始,当你点击“后退”按钮时你想去B?
这意味着弹出D然后弹出C,这样你就可以回到B.这就是popToViewController:animated:
的作用。
UINavigationController Class Reference
popToViewController:动画:
弹出视图控制器,直到指定的视图控制器位于 导航堆栈的顶部。
请注意,这与popToRootViewControllerAnimated: