导航到具体的UIViewController当返回按钮被按下
问题描述:
我有四个ViewController
可以说甲乙Çd。导航到具体的UIViewController当返回按钮被按下
甲导航到乙,乙可以导航到Ç和d两者。
而且Ç可以导航到d
而且d可以导航到ç
现在我想,如果我在按背部按钮Cd它可以追溯到到B总是。
我使用的是sague这样导航:
[self performSegueWithIdentifier:@"hourlyToPeriodic" sender:self];
请询问什么是未明确。
答
被推到ç或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回答
您可以使用''的的UINavigationController'财产viewControllers'找到的viewController B和'popToViewController:动画: '去它。一种方法可能是对导航控制器进行子类化,并检查它的C或D何时要求弹出,如果其中一个是先前的,则根据层次结构转到B而不是C或D. – Larme