我有四个ViewController
让我们说 A B C D 。
A 导航至 B , B 可导航至 C 且 D 两者。
C 可以导航到 D
D 可以导航至 C
现在我想如果我按下 C D 中的按钮,它会一直回到 B 。
我正在使用像这样的sague进行导航:
[self performSegueWithIdentifier:@"hourlyToPeriodic" sender:self];
请询问是否有任何不清楚的地方。
答案 0 :(得分:1)
推送到 C 或 D 视图控制器后,您可以
修改导航堆栈:
NSMutableArray *navigationStack = [D.navigationController.viewControllers mutableCopy];
或
NSMutableArray *navigationStack = [C.navigationController.viewControllers mutableCopy];
从堆栈中删除不需要视图控制器
[navigationStack removeObject:D];
或
[navigationStack removeObject:C];
并设置新的导航栏
[D.navigationController setViewControllers:navigationStack animated:NO];
或
[C.navigationController setViewControllers:navigationStack animated:NO];
如果您按下后退按钮,您将返回 B
或者使用@Larme回答的方式