- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//1.创建Window
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
//a.初始化一个tabBar控制器
UITabBarController *tb = [[UITabBarController alloc]init];
//设置控制器为Window的根控制器
self.window.rootViewController = tb;
/***生成下边的工具栏叫 UITabBar 高度为49 (不变)***/
//b.创建子控制器------- 通过storyboard 创建的子控制器
UIStoryboard *storyb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
FirstItemViewController *c1 = [storyb instantiateViewControllerWithIdentifier:@"FirstItemViewController"];
[self setAttrbutesWith:c1 title:@"消息" iConName:@"" backgroundColor:[UIColor lightGrayColor]];
UIViewController *c2 = [[UIViewController alloc]init];
[self setAttrbutesWith:c2 title:@"联系人" iConName:@"" backgroundColor:[UIColor brownColor]];
UIViewController *c3 =[ [UIViewController alloc]init];
[self setAttrbutesWith:c3 title:@"动态" iConName:@"" backgroundColor:[UIColor cyanColor]];
UIViewController *c4 = [[UIViewController alloc]init];
c4.view.backgroundColor = [UIColor grayColor];//背景颜色
c4.tabBarItem.title = @"设置";//tabBarItem名称
c4.tabBarItem.image = [UIImage imageNamed:@"Defualt Icon name"];//TabBarButton默认图标
c4.tabBarItem.selectedImage = [UIImage imageNamed:@"selected Icon Name"];//TabBarButton的选中图标
c4.tabBarItem.badgeValue = @"999+";//TabBarButton右上角的提示数字
/**** 这些默认图标、选中图标的尺寸 30 x 30 ****/
//c.将创建的子控制器添加到TabBarController中
/*方式一 展示的顺序和添加的顺序一致*/
[tb addChildViewController:c1];
[tb addChildViewController:c2];
[tb addChildViewController:c3];
[tb addChildViewController:c4];
/*方式二 展示的顺序和添加的顺序一致*/
//tb.viewControllers = @[c1,c2,c3,c4];
//d. 设置UITabbar的默认选中项/*此属性在 加入了子子控制器后才能生效,并且不能下标越界*/
tb.selectedIndex = 2;
//e.设置tabBar的背景颜色
UIView *backView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, 49)];
backView.backgroundColor = [UIColor clearColor];
backView.alpha = 0.5f;
[tb.tabBar insertSubview:backView atIndex:0];
tb.tabBar.opaque = YES;
//2. 设置Window 为主窗口 并显示出来
[self.window makeKeyAndVisible];
return YES;
}
- (void)setAttrbutesWith:(UIViewController *)vc title:(NSString *)title iConName:(NSString *)imageName backgroundColor:(UIColor *)color
{
vc.view.backgroundColor = color;
vc.tabBarItem.title = title;
vc.tabBarItem.image = [UIImage imageNamed:imageName];
}