导航到具体的UIViewController当返回按钮被按下

问题描述:

我有四个ViewController可以说Çd导航到具体的UIViewController当返回按钮被按下

导航到可以导航到Çd两者。

而且Ç可以导航到d

而且d可以导航到ç

现在我想,如果我在按背部按钮Cd它可以追溯到到B总是。

我使用的是sague这样导航:

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

请询问什么是未明确。

+1

您可以使用''的的UINavigationController'财产viewControllers'找到的viewController B和'popToViewController:动画: '去它。一种方法可能是对导航控制器进行子类化,并检查它的C或D何时要求弹出,如果其中一个是先前的,则根据层次结构转到B而不是C或D. – Larme

被推到çd视图控制器可以

修改导航堆栈之后:

NSMutableArray *navigationStack = [D.navigationController.viewControllers mutableCopy]; 

NSMutableArray *navigationStack = [C.navigationController.viewControllers mutableCopy]; 

取下不需要视图控制器ST ACK

[navigationStack removeObject:D]; 

[navigationStack removeObject:C]; 

并成立新的导航堆栈

[D.navigationController setViewControllers:navigationStack animated:NO]; 

[C.navigationController setViewControllers:navigationStack animated:NO]; 

如果你的Wi LL按后退按钮将返回到

或者使用方式与@Larme回答

+0

NSMutableArray * navigationStack = [self.navigationController.viewControllers mutableCopy]; [navigationStack removeObject:self]; [self.navigationController setViewControllers:navigationStack animated:NO]; – Yawar

+0

在performSegueWithIdentifier行解决了我的问题后写了这个 – Yawar