从层次结构中删除先前的视图控制器
问题描述:
我试图跳过一个ViewController
当我按下导航栏中的按钮时。从层次结构中删除先前的视图控制器
当我去下一个VC需要做到这一点:
A -> B -> C
但是,当我想去从C返回,我希望有一个ViewController
将呈现:
C -> A
我管理用下面的代码来做到这一点:
NSMutableArray *newControllers = [[NSMutableArray alloc]initWithArray:controllers];
[newControllers removeObjectAtIndex:newControllers.count-2];
self.navigationController.viewControllers = newControllers;
问题是呈现的导航栏。当我从A ViewController
获得View时,会显示来自B ViewController的导航栏。
有没有什么办法可以删除导航栏项目,比如我从层次结构中删除了视图控制器?
答
UIViewController *vcPop = nil;
for (UIViewController *viewContrl in self.navigationController.viewControllers) {
if ([viewContrl class] == [YOUR POP VIEW CONTROLLER class]) {
vcPop = (YOUR POP VIEW CONTROLLER *)viewContrl;
break;
}
}
if(vcPop)
[self.navigationController popToViewController:vcPop animated:YES];
是的,这就是我一直在寻找...感谢一吨! – AleksandarNS 2014-10-02 11:31:40