当我从导航栏按下后退按钮时,我正在尝试跳过一个 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 的导航栏。
有没有什么方法可以像从层次结构中删除 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];
关于ios - 从层次结构中删除以前的 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26159671/