您的位置:首页 > 移动开发 > IOS开发

使用 present 方法实现页面返回跳转(多层返回跳转)

2016-05-30 11:12 681 查看
我们在使用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:^{

}];
}];
}

}];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS 跳转