有没有办法从UINavigationController的堆栈中删除特定的视图控制器?

时间:2012-03-02 01:55:36

标签: objective-c xcode uinavigationcontroller stack

我想从UINavigationController的堆栈中删除一个viewController。

有可能吗?我发现UINavigationController.viewControllers是一种NSArray,它意味着我无法改变。

我也知道我可以使用popViewController()或pushViewController()更改堆栈(NSArray)。怎么可能?

我可以将UINavigationController中的特定viewController更改为其他viewController吗?或者有没有办法从堆栈中删除viewController?

1 个答案:

答案 0 :(得分:5)

这将做你想要的:

NSMutableArray * viewControllers = [ <<navController>>.viewControllers mutableCopy ]
[ viewControllers removeObject:<<viewControllerToRemove>> ] ;
navController.viewControllers = viewControllers ;

但这对我来说听起来很“有趣” - 我可以问你为什么要实施这种行为吗?