按下后退按钮时导航到特定UIViewController

时间:2016-07-26 17:01:31

标签: ios objective-c xcode

我有四个ViewController让我们说 A B C D

A 导航至 B B 可导航至 C D 两者。

C 可以导航到 D

D 可以导航至 C

现在我想如果我按下 C D 中的按钮,它会一直回到 B

我正在使用像这样的sague进行导航:

[self performSegueWithIdentifier:@"hourlyToPeriodic" sender:self];

请询问是否有任何不清楚的地方。

1 个答案:

答案 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回答的方式