使用 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:^{
}];
}];
}
}];
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:^{
}];
}];
}
}];
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- C#页面之间跳转功能的小结
- 根据IP跳转到用户所在城市的实现步骤
- Android开发之activiti节点跳转
- C#网页跳转方法总结
- php download.php实现代码 跳转到下载文件(response.redirect)
- 解决ASP中http状态跳转返回错误页的问题
- JavaScript实现页面跳转的方式汇总
- 两款JS脚本判断手机浏览器类型跳转WAP手机网站
- 基于JavaScript代码实现pc与手机之间的跳转
- js实现页面跳转的五种方法推荐
- 基于JavaScript实现网页倒计时自动跳转代码
- js实现页面跳转的几种方法小结
- JavaScript实现单击下拉框选择直接跳转页面的方法