1.// 初始化标签内容
-(void) makeSplitViewController {
int index=0;
NSMutableArray *controllers = [NSMutableArray arrayWithArray:self.tabBarController.viewControllers];//将tabbarController的ViewControllers放在可变的数组里
UIViewController *controller = [self.tabBarController.viewControllers objectAtIndex:index];//获得viewController的试图
//创建五大视图 除购物车全屏显示以外 都是以模态视图的方式进行显示
self.detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];
self.detailNav = [[UINavigationController alloc] initWithRootViewController:self.detailViewController];//将detailViewController作为UINavigationController的根试图
//RootViewController 横屏下控制左侧的根视图 横屏下要设置根视图的标题
self.rootViewController = [[RootViewController alloc] initWithStyle:UITableViewStylePlain];
self.rootViewController.detailViewController = self.detailViewController;
self.rootViewController.navigationItem.title = @"分类";
self.nav = [[UINavigationController alloc] initWithRootViewController:rootViewController];
//GomeSplitViewController 竖屏下控制悬浮窗体 竖屏下要控制导航栏上新添加的按钮对悬浮窗体的显示控制
self.splitViewController = [[GomeSplitViewController alloc] init];
self.splitViewController.tabBarItem = controller.tabBarItem;
self.splitViewController.viewControllers = [NSArray arrayWithObjects:nav, detailNav, nil];
self.splitViewController.delegate = self.detailViewController;
[controllers replaceObjectAtIndex:index withObject:splitViewController];
index = 2;
controller = [tabBarController.viewControllers objectAtIndex:index];
self.thirdViewController = [ThirdViewController new];
self.thirdViewController.navigationItem.title = @"购物车";
self.thirdViewController.tabBarItem = controller.tabBarItem;
self.thirdNav = [[UINavigationController alloc] initWithRootViewController:thirdViewController];
[controllers replaceObjectAtIndex:index withObject:thirdNav];
//重置导航视图内容
self.tabBarController.delegate = self;//将Gome_HDAppDelegate作为tabBarController的代理
self.tabBarController.viewControllers = controllers;
}
2.UITabBar的代理函数
-(BOOL)tabBarController:(UITabBarController *)tabBarController_ shouldSelectViewController:(UIViewController *)viewController{
return YES;
}
- (void)tabBarController:(UITabBarController *)tabBarController_ didSelectViewController:(UIViewController *)viewController {
int index = self.tabBarController.selectedIndex;//获得tabBar的下方标签的索引
//更改上次用户所选的的标签数
UIViewController *controller0 = [tabBarController_.viewControllers objectAtIndex:0];
switch (index) {
}
}