我实现了一个具有 10 多个视图的导航控制器。这里通过在视图中向右滑动来切换到下一个视图...向左滑动将带您上一页。在这里,我使用 poptoviewcontroller 转到上一页。
在每个页面中,它都有一个菜单可以切换到所需的视图。跳转到特定视图后,如果我们向左滑动将带来以前访问过的视图而不是这个我只想按照菜单转到上一页...
在这里,我使用了 poptoviewcontroller 的所有属性,但它没有任何建议。
谢谢,
我实现了一个具有 10 多个视图的导航控制器。这里通过在视图中向右滑动来切换到下一个视图...向左滑动将带您上一页。在这里,我使用 poptoviewcontroller 转到上一页。
在每个页面中,它都有一个菜单可以切换到所需的视图。跳转到特定视图后,如果我们向左滑动将带来以前访问过的视图而不是这个我只想按照菜单转到上一页...
在这里,我使用了 poptoviewcontroller 的所有属性,但它没有任何建议。
谢谢,
您必须将 Navigation 的视图控制器视为一个堆栈(就像您办公桌上的一叠文件)。
因此,如果将某些内容压入堆栈,则当您将某些内容从堆栈中弹出时,它将是前一项。
我不确定你在做什么,但我会查看 UINavigationController 的 setViewController:Animated 方法的文档。我认为这将有助于解决您的问题。
让我解释一下什么是 nvaigationcontroller 堆栈。
堆栈 = {根,A,B,C,D}。
当前可见视图是 D。当您制作 pushViewController(E) 时,意味着您向堆栈添加了一个新视图,该视图变为可见:Stack = {root, A, B, C, D, E}。当您制作 popViewController 时,您删除了堆栈的最后一个元素并将新的最后一个元素设置为可见,在我们的例子中,它再次变为: Stack = {root, A, B, C, D} 并且 D 是可见的。现在,如果您选择 popToRootController(A),这意味着您从堆栈中删除所有元素,直到顶部元素为 A 并且它变得可见,因此在我们的示例中它是 Stack = {root, A}。
我希望我正确理解了您的问题并解释了您,以便您可以正确理解层次结构。如果没有,请重新表述您的问题。
最后我解决了这个问题。但实际上没有使用 setViewController 方法。
在这里,在 pushig 视图本身时,我在堆栈中添加了视图。即例如我想去视图A到D意味着我用pushviewcontroller动画添加了b和c:NO; 和 D 动画:YES;
所以它对我来说非常有效......