我有一个导航控制器,通过4个屏幕/级别,所以用户可以做出选择,然后他们在其他屏幕上做了很多事情,完成后,我将它们设置回第4个视图/屏幕/级别导航控制器。容易到这里......但是 后退按钮将它们带回到一堆东西(显然),而不是我希望的第3级!
请问怎么做?我真的想避免“覆盖”后退按钮,并希望以一种更优雅的方式以编程方式快速下载所有设置正确
感谢您的帮助
geebee
编辑1: 谢谢Jason花时间帮助我 - 感谢。 问题是我不知道如何将该语句作为逻辑位置放在“后退”函数的回调中 - 我需要创建它,因为我没有看到它并且它可能会搞砸当我自然向下钻时,正常的“后退”按钮。
我真正想做的是以一种看不见的方式做回到1级并以编程方式向下进入3级(就像看起来我从4回到1 - 就像我想要的那样实际上我下降了1,2,3) - 然后如果用户继续想要回去,它会自然地回归,因为我最初正常钻了。
希望我很清楚编辑2: 你是对的杰森。当我正在做其他一些事情时,我不再推动任何视图控制器 - 我完全在我的应用程序的其他地方询问一些问题并多次获得答案。然后在这些任务结束时,我需要将自己定位在我的最后一个4级导航控制器上,所以我只是启动它 - 然后我有后退按钮的问题......我确切地知道我是怎么从1级到4级通过单例类(充当全局变量)所以这就是为什么我可能会认为我应该无形地将自己定位在level1上并深入到4级,这样后退按钮就像应该的那样工作。 再次感谢你抽出时间,因为我被卡住了。
答案 0 :(得分:3)
我觉得你想要的是这种方法吗?
- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated
类似
[self.navigationController popToViewController:thirdLevelViewController animated:YES]
编辑:geebee,在您的初始问题“通过4个屏幕/级别进行下去,以便用户可以做出选择, 然后他们在其他屏幕上做了很多事情,完成后 < /强>“
你能告诉我们你的意思吗?我认为现在正在试图回答你问题的人感到困惑。你在做其他事情时是否将更多的视图控制器推入堆栈?
如果您只是将视图控制器推入堆栈但从不弹出它们,那么回退到其他屏幕的唯一方法就是这样。我想这可能是你的问题?如果没有看到代码,我真的不能说太多。
EDIT2:geebee,我不太清楚我理解您的应用程序中发生了什么,我不确定除非能看到您尝试做某事的一些代码,否则我能帮助您多少与