iOS之旅--处理跳转
来源:互联网 发布:dm500s接收机 淘宝 编辑:程序博客网 时间:2024/05/20 01:10
iOS之旅–处理跳转
项目中有一些需要跳转界面,整理一下不同的跳转。
- 我的项目中有tabbar有4个选项,
- 每个界面进入基本都有网络请求
第一种——跳转到某一个tabbar的主页
/** 跳转到首页 */- (void)goToHomeView{ //index从 0 开始,我这里有4个tabbar,就是0,1,2,3 self.navigationController.tabBarController.selectedIndex = 0;}
第二种——跳转到某个界面(之前打开过、未打开过)
注:我第一个控制器为A,点击打开了B界面(B是一个list),打开list某一个界面C之后,里面还需要跳转D界面,在D界面操作之后,需要跳转到B界面,如果我们pop的话就是到C界面了,这里就需要用到navigationController的栈操作,
//D界面的跳转返回B界面- (void)popView { if ([self.navigationController.viewControllers[0] isKindOfClass:[A class]]) { B *dev = self.navigationController.viewControllers[1]; [self.navigationController popToViewController:dev animated:YES]; } else { [self.navigationController popToRootViewControllerAnimated:NO]; [[NSNotificationCenter defaultCenter]postNotificationName:@"PUBFanhui" object:nil]; }}
由于我的D界面还有别的入口,(栈顶可能不是A,所以做了下判断)用了通知的办法去进行跳转
(下面这部分代码是写在继承自UITabBarController的控制器里面,在这里设置这个通知的好处是你初始化tabbar的时候,就定义这个通知了,这部分属于一个整体。
如果不在这里,部分代码需要修改。)
如果你有好的办法,可以交流,谢谢
//在viewDidLoad里面添加通知[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(tiaozhuan) name:@"PUBFanhui" object:nil];- (void)tiaozhuan{ //我的A界面是处于最后一个tabbar的,这个控制器是继承UITabBarController,所以直接self.selectedIndex, self.selectedIndex = 3; MainNavigationController *nav =self.viewControllers[3]; [nav pushViewController:[[MyProgectTableViewController alloc] init] animated:NO];}
最后说一下,上面第二种方法中,通知的那个跳转一般不推荐用,我们这边只是实现了一些简单跳转的,太深入的跳转都给产品推了,没有实现,朋友们如果有好的办法,可以给说一下。谢谢
0 0
- iOS之旅--处理跳转
- IOS之页面跳转
- iOS应用跳转问题之:应用跳转
- IOS学习之旅之3 页面跳转及绘制
- iOS开发之页面跳转
- IOS页面跳转之UINavigatioinController
- 【iOS代码】集中处理Controller跳转问题
- IOS推送消息处理跳转指定页面
- iOS-点击推送消息跳转处理
- 【iOS开发】推送跳转处理&&UIApplicationLaunchOptionsRemoteNotificationKey
- iOS之旅--swift emoji 处理
- iOS之旅--UIScrollView疑难处理
- iOS之文件处理
- iOS之图片处理
- iOS之键盘处理
- iOS之键盘处理
- IOS 疯狂基础之 页面间跳转
- IOS编程之视图跳转的方式
- kafka科普
- web移动端开发-将网站分享朋友圈、微信空间、朋友圈功能
- win10+Ubuntu双系统 Easybcd安装
- JavaScript prototype 使用介绍
- Qt学习之路(9):事件过滤器
- iOS之旅--处理跳转
- Java常用正则表达式
- 将genymotion模拟器集成到androidStudio里面
- Stetho(Facebook出品)---Android调试器的使用
- 在SD卡创建文件夹、写入文件、读取文件
- 【redis】redis操作GeoLiteCity
- poj3468 A Simple Problem with Integers(线段树)
- iOS如何隐藏系统状态栏
- iOS AES 256加密