// AppDelegate.m
#import "AppDelegate.h"
#import "GameViewController.h"
#import "VedioViewController.h"
#import "PhotoViewController.h"
#import "NovelViewController.h"
#import "MusicViewController.h"
#import "DoubiViewController.h"
@interface AppDelegate()<UITabBarControllerDelegate>
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen]bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
// 创建一个试图控制器
GameViewController *game = [[GameViewController alloc]init];
game.tabBarItem = [[UITabBarItemalloc]initWithTabBarSystemItem:UITabBarSystemItemHistory tag:1];
game.tabBarItem.badgeValue = @"1";
//将game作为导航控制器的根视图控制器
UINavigationController *gameNav = [[UINavigationControlleralloc]initWithRootViewController:game];
//一个标签栏对应一个视图控制器(换言之,对应一个导航控制器)因此,我们可以通过导航控制设置标签项
// gameNav.tabBarItem = [[UITabBarItemalloc]initWithTabBarSystemItem:UITabBarSystemItemHistory tag:1];
VedioViewController *vedio = [[VedioViewController alloc]init];
vedio.tabBarItem = [[UITabBarItem alloc]initWithTitle:@"Movie"image:[UIImage imageNamed:@"vedio.png"] tag:2];
UINavigationController *vedioNav =[[UINavigationControlleralloc]initWithRootViewController:vedio];
vedio.tabBarItem.badgeValue = @"2";
PhotoViewController *photo = [[PhotoViewController alloc]init];
photo.tabBarItem = [[UITabBarItem alloc]initWithTitle:@"Photo"image:[UIImage imageNamed:@"photo.png"] tag:3];
UINavigationController *photoNav = [[UINavigationControlleralloc]initWithRootViewController:photo];
photo.tabBarItem.badgeValue = @"3";
NovelViewController *novel = [[NovelViewController alloc]init];
novel.tabBarItem = [[UITabBarItem alloc]initWithTitle:@"Novel"image:[UIImage imageNamed:@"novel.png"] tag:4];
UINavigationController *novelNav = [[UINavigationControlleralloc]initWithRootViewController:novel];
novel.tabBarItem.badgeValue = @"4";
MusicViewController *music = [[MusicViewController alloc]init];
music.tabBarItem = [[UITabBarItem alloc]initWithTitle:@"Music"image:[UIImage imageNamed:@"music.png"] tag:5];
UINavigationController *musicNav = [[UINavigationControlleralloc]initWithRootViewController:music];
music.tabBarItem.badgeValue = @"5";
DoubiViewController *douBi = [[DoubiViewController alloc]init];
douBi.tabBarItem = [[UITabBarItem alloc]initWithTitle:@"Doubi"image:[UIImage imageNamed:@"doubi.png"] tag:6];
douBi.tabBarItem.badgeValue = @"6";
//将导航控制器加入到标签视图控制器
UITabBarController *tabC = [[UITabBarController alloc]init];
tabC.viewControllers =@[gameNav,vedioNav,photoNav,novelNav,musicNav,douBi];
// 设置导航栏背景颜色
tabC.tabBar.barTintColor = [UIColor redColor];
// 设置导航栏item的颜色
tabC.tabBar.tintColor = [UIColor greenColor];
// 设置导航栏背景图片
// 当图片高度小于标签栏高度的时候会进行填充,当高度大于标签栏高度的时候,会超出标签栏高度。
// tabC.tabBar.backgroundImage = [UIImage imageNamed:@"game"];
// 设置初始选中的标签项
tabC.selectedIndex = 2;
tabC.selectedViewController = photoNav;
// 设置代理
tabC.delegate = self;
// 将tabC 作为window的根视图控制器
self.window.rootViewController = tabC;
// 设置字体大小,创建一个文本属性的一个字典
NSDictionary *dicFont = @{NSFontAttributeName:[UIFontsystemFontOfSize:25]};
NSDictionary *dicFontColor = @{NSForegroundColorAttributeName:[UIColorredColor]};
// 通过Appearance 设置tabBar的图片和文字的一些属性。
// 设置字体大小
[[UITabBarItem appearance] setTitleTextAttributes:dicFontforState:UIControlStateNormal];
// 设置字体颜色
[[UITabBarItem appearance] setTitleTextAttributes:dicFontColorforState:UIControlStateSelected];
[[UITabBar appearance]setTintColor:[UIColor blueColor]];
// 设置所有导航栏的背景颜色
[[UINavigationBar appearance] setBarTintColor:[UIColor orangeColor]];
returnYES;
}
// 选中某个标签项
-(void)tabBarController:(UITabBarController *)tabBarControllerdidSelectViewController:(UIViewController *)viewController{
viewController.tabBarItem.badgeValue = nil;
}