我们在使用present 方法进行页面的跳转时一般使用是:
UIViewController * viewController = [UIViewController
alloc] init];
[self presentViewController:viewController animated:YES completion:^{
}];
但很多时候我们需要跨页面返回,或者是先返回到某一页面之后再跳转别的页面
这就需要一下操作:
//可能要在dismiss 之前设置ViewController
UIViewController * productDetailViewController = self.presentingViewController;
UIViewController * productListViewController = productDetailViewController.presentingViewController;
UIViewController * agentShopViewController = productListViewController.presentingViewController;
if ([productDetailViewController isKindOfClass:[AgentProductDetailViewController class]]) {
[self dismissViewControllerAnimated:NO completion:^{
[productDetailViewController dismissViewControllerAnimated:NO completion:^{
[productListViewController dismissViewControllerAnimated:NO completion:^{
// AgentShopViewController *agentShopViewController = (AgentShopViewController*)productListViewController.presentingViewController;
UIStoryboard * tmpStory = [UIStoryboard storyboardWithName:Main bundle:nil];
AgentProductLibraryViewController* AgentProductLibraryVC = [tmpStory instantiateViewControllerWithIdentifier:@"AgentProductLibraryViewController"];
[agentShopViewController presentViewController:AgentProductLibraryVC animated:YES completion:^{
}];
}];
}];
}];
}else{
[self dismissViewControllerAnimated:NO completion:^{
UIStoryboard * tmpStory = [UIStoryboard storyboardWithName:AGENTSYSTEMSTORYBOARDIDENTIFIER bundle:nil];
AgentProductLibraryViewController* AgentProductLibraryVC = [tmpStory instantiateViewControllerWithIdentifier:@"AgentProductLibraryViewController"];
[productDetailViewController presentViewController:AgentProductLibraryVC animated:YES completion:^{
}];
}];
}
}];