我有一个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/