创建UItabBarController可以分为4个步骤:
1:初始化UItabBarController
2:设置UIWindow的rootViewController为UItabBarController
3:创建相应的子控制器
4:把子控制器加到UItabBarController中
在YYAppDelegate.m中
didFinishWithOptions方法中,添加代码,使得代码如下:
{
self.window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen]bounds]];
self.window.backgroundColor=[UIColor redColor];
1:初始化UItabBarController
UItabBarController *tab=[[UItabBarController alloc]init];
2:设置UIWindow的rootViewController为UItabBarController
self.window.rootViewController=tb;
3:创建相应的子控制器
UIViewController *vc1=[[UIViewController alloc]init];
vc1.view.backgroundColor=[UIColor grayColor];
vc1.tabBarItem.title=@"消息";//命名
vc1.tabBarItem.image=[UIImage imageNamed:@"tab_information"];//没有选中时的图片
vc1.tabBarItem.selectedImage=[UIImage imageNamed:@"tab_selected_information"];//选中时的图片
vc1.tabBarItem.badgeValue=@"123";//提醒数字
若是一次性创建好tabBarItem可以用:
UITabBarItem *item=[[UITabBarItem alloc]initWithTitle:@"消息" image:[UIImage imageNamed:@"tab_information"] tag:1];
tag就是标签,方便以后查找。
也可以用系统样式初始化:
UITabBarItem *item=[[UITabBarItem alloc]initWithTabBarSystemItem: UITabBarSystemItemHistory tag:0];
但是用系统样式的初始化方式,在设置title,image就无效了。
vc1.tabBarItem=item;
用同样的方法创建vc2,vc3,vc4
4:把子控制器加到UItabBarController中
tab.viewControllers=@[vc1,vc2,vc3,vc4];一次性添加4个viewController
若是添加一个一个添加可以用 [tb addChildViewController:vc1];
[self.window makeKeyAndVisible];
return YES;
}
这样tabBar上面就有4个不同的UITabBarItem了,点击不同的UITabBarItem展示不同的View,被选中的view处于显示状态,其他view处于卸载状态,UItabBarController中各个视图控制器的生命周期与UItabBarController相同。