Ios 从层次结构中删除以前的视图控制器
当我按下导航栏上的后退按钮时,我正在尝试跳过一个Ios 从层次结构中删除以前的视图控制器,ios,objective-c,uiviewcontroller,uinavigationcontroller,uinavigationbar,Ios,Objective C,Uiviewcontroller,Uinavigationcontroller,Uinavigationbar,当我按下导航栏上的后退按钮时,我正在尝试跳过一个ViewController 当我转到下一个VC时,它需要这样做: A -> B -> C 但当我想从C返回时,我想显示一个ViewController: C -> A 我用下一个代码成功地做到了这一点: NSMutableArray *newControllers = [[NSMutableArray alloc]initWithArray:controllers]; [newControllers remo
ViewController
当我转到下一个VC时,它需要这样做:
A -> B -> C
但当我想从C返回时,我想显示一个ViewController
:
C -> A
我用下一个代码成功地做到了这一点:
NSMutableArray *newControllers = [[NSMutableArray alloc]initWithArray:controllers];
[newControllers removeObjectAtIndex:newControllers.count-2];
self.navigationController.viewControllers = newControllers;
出现的问题是导航栏。当我从ViewController
获取视图时,将显示来自B ViewController的导航栏
有没有什么方法可以像从层次结构中删除view controller那样删除导航栏项目?是的,这就是我要找的……非常感谢!
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];