如何在UINavigationController中释放所有viewcontroller,而不释放UINavigationController对象。
我的情况是,我有一个带有一组viewcontrollers的导航控制器。在某些情况下我想为可用的navigationcontroller设置一个新的viewcontroller as rootViewController。所以我用过
“[navigationcontrollerObj initWithRootViewController:viewController]”; 方法。
它工作正常,我的新视图层次结构设置正确。但我的问题是,之前推送的viewControllers尚未发布。
这就是我以前推动我的viewcontrollers的方式
[navigationcontrollerObj pushViewController:viewControllerObj]; viewControllerObj release];
请帮助.....
答案 0 :(得分:3)
如果你的意思是弹出到rootviewcontroller,你可以试试这个:
[self.navigationController popToRootViewControllerAnimated:NO];
如果您没有将其保留在其他位置,这将释放所有视图控制器。确保在推送后释放了所有视图控制器。完成此操作后,您可以将任何视图控制器设置为rootviewcontroller。
答案 1 :(得分:1)
[self.navigationController popToRootViewControllerAnimated:NO]; will pop all other view controller
- (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated // use this function to change the root view controller