ios - 是否可以弹出到 n - 2 或 n - 3 View ?

标签 ios iphone cocoa

我知道很容易弹出到之前的 viewController:

[self.navigationController popViewControllerAnimated:YES];

但是,是否可以弹出,不是前一个 View ,而是 n - 2 或 n - 3 View ?

最佳答案

是的,但必须以不同的方式完成,首先从导航 Controller 中获取当前的 View Controller 堆栈:

NSMutableArray *viewControllers = [self.navigationController.viewControllers mutableCopy];

在代码中,您会看到我已将数组设为可变,现在您可以操作该数组:

NSRange range = NSMakeRange(2, 2);
[viewControllers removeObjectsInRange:range];

这里我从位置2删除了2个 View Controller ,当然还有很多方法可以从数组中删除/添加 Controller 。

然后只需将新数组分配给navigationController:

[self.navigationController setViewControllers:viewControllers animated:YES];

关于ios - 是否可以弹出到 n - 2 或 n - 3 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19399230/

相关文章:

macos - OSX 状态菜单在 Swift 中不起作用

ios - OpenGL ES 2 - 关于深度的菜鸟问题

ios - 从现有项目创建新的 Xcode 项目

iphone - 获得带有箭头图标的 "back"导航按钮的最佳方法?

iphone - 如何在不让原始 View 消失的情况下将 modalViewController 覆盖在另一个 View 之上?

cocoa - 编辑前获取NSTextField的字段编辑器

cocoa-touch - 确定 iOS 上支持的字体样式的最佳方法是什么?

ios - IOS中,如何使用CGContextClearRect清理一个Circle Area?

iphone - 模态视图在他们自己的 iOS 窗口中

cocoa - 如何在osx中​​创建虚拟键盘?