如何从故事板中的堆栈弹出上一个视图?

时间:2014-05-27 22:58:51

标签: ios uiview storyboard stack

我有一个带3个视图控制器的应用程序。我使用push segues从A-> B-> C推出。在B推送到C之后,如何从堆栈中删除B,只留下两个视图,C在A?

之上

1 个答案:

答案 0 :(得分:0)

UINavigationController有一组视图控制器,它维护它来管理导航堆栈。

较小索引处的对象在堆栈中较低,然后是较高索引处的对象。最高索引处的对象位于导航堆栈的顶部,索引0处的对象是根视图控制器。

您可以访问viewControllers属性的此数组视图。对于导航控制器中的任何UIViewController,只需:

self.navigationController.viewControllers

您可以使用它来获取当前状态的数组,根据需要对其进行操作,然后重置它。

例如:

NSArray *oldNavigationStack = self.navigationController.viewControllers;

NSArray *newNavigationStack = @[[oldNavigationStack firstObject],
                                [oldNavigationStack lastObject]];

self.navigationController.viewControllers = newNavigationStack;