2

我试图跳过一个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的导航栏。

有没有什么办法可以删除导航栏项目,比如我从层次结构中删除了视图控制器?

回答

6
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]; 
+0

是的,这就是我一直在寻找...感谢一吨! – AleksandarNS 2014-10-02 11:31:40

相关问题