我有一个iPhone应用程序,该应用程序使用UINavigationController的标准实现进行应用程序导航。

我试图找出一种替换层次结构中的 View Controller 的方法。
换句话说,我的应用程序加载到rootViewController中,当用户按下按钮时,该应用程序将推送到firstViewController。然后,用户按下另一个按钮以将应用程序导航到secondViewController。用法再次向下导航到另一个 View Controller thirdViewController。但是,我希望thirdViewController的BackButton弹出回到firstViewController。

本质上,当用户按下thirdViewController时,我希望它替换导航层次结构中的secondViewController

这可能吗? 我知道它正在使用Three20,但在这种情况下我不是。但是,如果在Three20中有可能,那么它肯定应该使用直接的SDK调用。有人有想法吗?

干杯,
布雷特

最佳答案

非常简单,当要推送thirdViewController而不是执行简单的pushViewController时,请执行以下操作:

NSArray * viewControllers = [self.navigationController viewControllers];
NSArray * newViewControllers = [NSArray arrayWithObjects:[viewControllers objectAtIndex:0], [viewControllers objectAtIndex:1], thirdController,nil];
[self.navigationController setViewControllers:newViewControllers];

其中[viewControllers objectAtIndex:0][viewControllers objectAtIndex:1]是您的rootViewController和FirstViewController。

关于iphone - 替换UINavigationController层次结构中的UIViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8627050/

10-13 02:04