UITabBarController:标签栏控制器,继承自UIViewController,用标签栏的形式管理视图控制器,各标签栏对应的视图控制器之间相互独立,互不影响,单击标签栏,显示标签栏对应的视图控制器,各视图控制器的生命周期与tabBarController的生命周期一致使各模块之间低耦合,易于团队开发,根据需要随时添加、删除模块
创建一个tabBarItem对象,创建时指定其标题,图片和选中时的图片
UITabBarItem *item3=[[UITabBarItem alloc]initWithTitle:@"vc3" image:[UIImage imageNamed:@"tab_2.png"] selectedImage:[UIImage imageNamed:@"tab_s.png"]];
采用系统自带的样式创建tabBarItem对象,设置tag值,一般不用,自己不能修改title
UITabBarItem *item4=[[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemBookmarks tag:4];
vc3.tabBarItem=item4;
tabBarController中可以管理任意UIViewController对象当tabBarController管理的视图控制器的个数多于5个时,会生成一个moreNavigationController对象,将第5个和第5个之后的项以列表的形式显示出来视图控制器在数组中的顺序与显示的顺序一致
NSArray *viewControllers=@[nav1,vc2,vc3,vc4,vc5,vc6];
创建UITabBarController对象
UITabBarController *tabBarController=[[UITabBarController alloc]init];
设置tabBarController管理的视图控制器对象(数组,任意UIViewController的对象都可以添加到数组中)
tabBarController.viewControllers=viewControllers;
设置选中的标签栏项的下标,默认显示的是第一个标签栏项对象的视图
tabBarController.selectedIndex=1;
设置选中的视图控制器对象
tabBarController.selectedViewController=viewControllers[2];
从userDefaults中取出上一次用户选择的视图控制器的标题
NSUserDefaults *userDefaults=[NSUserDefaults standardUserDefaults];
NSString *title=[userDefaults objectForKey:TITLEKEY];
NSArray *array=[userDefaults objectForKey:GROUPKEY];
设置tabBar的背景色
tabBarController.tabBar.barTintColor=[UIColor redColor];
设置tabBar上选中的item上的颜色
tabBarController.tabBar.tintColor=[UIColor greenColor];
tabBar的高度是49像素
不能修改tabBar上的item