iPhone,iPad NavigationController PopToviewController无法运行
-
25-09-2019 - |
题
我实现了一个带有10+视图的导航控制器。在此处,通过右图刷新的视图,切换到下一个视图...左图将带来上一页。在这里,我使用了PopToviewController进行Prevous页面。
在每个页面中,每个页面都有一个菜单要切换到所需的视图。跳到特定视图之后,如果我们扫过左将带来以前访问的视图,而不是这样,我只想按照菜单进行上一页...
在这里,我使用了PopToviewController的所有属性,但它可以使用任何建议。
thnks,
解决方案 3
最后,我解决了这个问题。但是不使用setViewController方法Infact。
在这里,在Pushig the视图本身时,我在堆栈中添加了视图。例如,我想转到视图a到d表示我添加了b and c和pushViewController动画:no;和动画:是的;
所以它对我很好。
其他提示
您必须将导航的视图控制器视为堆栈(例如桌子上的一堆纸)。
因此,如果将某些东西推到堆栈上,当您从堆栈中弹出某些东西时,它将是以前的项目。
我不确定您在做什么,但我会看 文档 对于UinavigationController的SetViewController:Animated方法。我认为这将有助于您的问题。
让我解释一下什么是nvaigationController堆栈。
stack = {root,a,b,c,d}。
当前的可见视图是D。当您使PushViewController(e)进行时,意味着您在堆栈中添加了一个新视图,该视图变得可见:stack = {root a,a,b,c,d,e}。当您制作popviewController时,您将删除堆栈的最后一个元素,并设置新的最后一个要可见的元素,在我们的情况下,它将变为:stack = {root a,a,b,c,d},d可见。现在,如果您选择poptorootcontroller(a),则意味着您从堆栈中删除所有元素,直到顶部元素为a,因此它变得可见,因此在我们的情况下,它是stack = {root,a}。
我希望我能正确理解您的问题并解释您,以便您可以正确理解层次结构。如果没有,请重新制定您的问题。