1.基本概念
//1.创建视图控制器(视图控制器,导航控制器)的对象
FirstViewController *vc0 = [[FirstViewController alloc]init];
//设置title和image
//视图控制器的title属性可以同时设置tabBarItem的title和navigationItem的title
vc0.title = @"vc0";
// vc0.tabBarItem.title = @"vc0";
// vc0.navigationItem.title = @"vc0";
//tabBarController的标签一般不超过5个。超过5个的话,从第五个开始的剩余的视图控制器会被放到系统自动创建的moreViewController里面,由moreViewController来进行管理。moreNavigationController没有下标
UINavigationController *navC0 = [[UINavigationController alloc]initWithRootViewController:vc0];
//在vc4上添加系统样式的标签元素
//tabBar上放的必须是UITabBarItem类型的
//1.创建系统风格的UITabBarItem:不能修改vc4.tabBarItem.title和vc4.tabBarItem.image --> 修改不起作用
UITabBarItem *item40 = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:100];
// //2.同时设置title/image/selectedImage
UITabBarItem *item41 = [[UITabBarItem alloc]initWithTitle:@"vc4" image:[UIImage imageNamed:@"tab_s"] selectedImage:nil];
// //3.同时设置title/image/tag
UITabBarItem *item42 = [[UITabBarItem alloc]initWithTitle:@"vc4" image:[UIImage imageNamed:@"tab_s"] tag:100];
//
vc4.tabBarItem = item40;
//2.把要添加的视图控制器的对象放到一个数组中
NSArray *arr = @[navC0,navC1,vc2,vc3,vc4];
//UITabBarController:继承自UIViewController,本质上还是视图控制器。标签栏控制器。
//用来管理视图控制器的软件结构级的组件。UITabBarController里面存放的视图控制器都是并列关系,互不影响。
//3.把数组中的视图控制器的对象添加到tabBarController中
UITabBarController *tabBarC = [[UITabBarController alloc]init];
//数组中存放的必须是普通视图控制器或导航控制器的对象的地址
tabBarC.delegate = self;
tabBarC.viewControllers = arr;
//设置默认选中项 --> 默认选中的是第0个
tabBarC.selectedIndex = 0;
//从NSUserDefaults中获取存储的index
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
NSInteger index = [ud integerForKey:@"selectedIndex"];
tabBarC.selectedIndex = index;
//4.把tabBarC设置为window的根视图控制器
self.window.rootViewController = tabBarC;
[tabBarC release];
2.UITabBarControllerDelegate协议
-(void)tabBarController:(UITabBarController *)tabBarController didEndCustomizingViewControllers:(