先从习惯性的tabBarController开始,很多应用的外框都是用这个开始的,而从tabBarController的一个item上的控制器跳转到另一个上的,往往都是直接通过点击tabBar上的不同item来切换,
借下别人的图... 但如果要求如图从item3下的某个控制器跳转到item1上的根控制器要怎么跳呢?
可以这么看流程:
这个流程的跳转其实关乎应用开发所需要的业务流程,假如你从item3跳转到item1上的控制器后,下次点击item3时,如果需要的是显示item3的根控制器时,那可以按这个跳转。
注意,要实现这些跳转,最好就是搞一个类来保存实例化后的tabBarController,方便在整个程序里面调用
如:
先回到本item3的根控制器,不显示动画
[self.navigationController popToRootViewControllerAnimated:NO];
通过你的方法获取
UITabBarController *tabCtl
然后强制切换tabBarController的选中的item为item1就可以了
tabCtl.selectedIndex = ;
假如item3不需要回到根控制器,那么只需要调用
tabCtl.selectedIndex就可以了,但要确保有获取到UITabBarController 如果是跳转到item1的第二个控制器,可以这样,如果该控制器未实例化,也需要实例化,否则跳转不了
UINavigationController *nav = (UINavigationController *)tabCtl.viewControllers[];
ProjectViewController *proCtl = [[ProjectViewController alloc]init];
[nav pushViewController:proCtl animated:YES];
应用里如果用了防止tabBar双点击的代理方法时,记得调用该代理方法