iOS 两个tabbarcontroller之间的切换

这篇博客记录了在iOS开发中,如何在两个TabBarController之间进行切换的方法。作者探讨了通过NavigationController进行push跳转的方式,以及遇到的bug,并提出了解决方案——切换Window的rootViewController。在解决方案中,App Delegate中初始化两个TabBarController,根据需求动态改变rootViewController,以实现TabBar的切换。

看了一下网上关于tabbar跳转的方法,结合自己项目情况出现的问题,记录一下。

第一个方法是在网上看到通过navigationcontroller跳转:

1.从第一个tabar到第二个tabar的方法:通过navigationcontroller push跳转到另一个tabbarcontroller

  [self .navigationControllerpushViewController :secondTab animated : NO ];

   (这里的secondTab 自己定义,就是第二个tabbar的内容,有当前tabbar的view controller跳转过去)

2.从第二个tabbar回到第一个tabbar的方法:通过调用当前tabbarcontroller的navigationcontroller 的popToRootViewController方法返回到第一个tabbar

 [self.tabBarController.navigationControllerpopToRootViewControllerAnimated:NO];

   

第二个方法就是在经历第一个方法结果出了一些莫名bug后改成的切换window.rootviewcontroller(个人觉得这个方法很好)

1.在appdelegate里初始化你所需要的两个tabbarcontroller 然后window.rootviewcontroller等于你的第一个tabbarcontroller

2.在程序中你需要切换的地方将第二个tabbar调出来,然后赋给window.rootviewcontroller:

   

   AppDelegate *appdelegate = [UIApplication sharedApplication].delegate;

    appdelegate.window.rootViewController = appdelegate.tab;//选择appdelegate里面定义好的tabbarcontroller进行切换 

   //appdelegate.tab.selectedIndex = 0;切换到想要的tabbar后选择到到哪个item下


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值