我在我的应用程序中使用带有超过 5 个颜色为绿色(即自定义)的选项卡项的选项卡栏控制器。正如我们所知,第 5、第 6.. 选项卡项由 MoreViewController 自动处理。我的问题是 1)如果我选择更多标签栏项目,我确实得到了蓝色项目。2)如果我从更多标签栏项目切换到上一个项目,我也确实将项目颜色设为蓝色。那么,如何在这两种情况下使标签栏项目颜色为绿色?
问问题
671 次
2 回答
0
buddy you have 2 choices
1. u take 2 image for every tabbar 1st disable tile 2nd show enable time
self.window.backgroundColor =[UIColor colorWithPatternImage:[UIImage imageNamed:@"bg.png"]]; //[UIColor blackColor];
tabBarController = [[UITabBarController alloc] init];
[tabBarController setDelegate: self];
// [tabBarController.tabBar setDelegate:self];
//tabBarController = [[UITabBarController alloc] init];
tabBarController.tabBar.tintColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"bg.png"]];
//tabBarController.tabBarItem.title=[UIColor whiteColor];
//[[UITabBar appearance] setSelectedImageTintColor:[UIColor redColor]];
//[[UITabBar appearance] setBackgroundColor:[UIColor whiteColor]];
//tabBarController.tabBar.backgroundColor = [UIColor whiteColor];
NSMutableArray *localViewControllersArray = [[NSMutableArray alloc] initWithCapacity:7];
Login *home = [[Login alloc] initWithNibName:@"Login" bundle:nil];
localNavController = [[UINavigationController alloc] initWithRootViewController:home];
//localNavController.tabBarItem.image = [UIImage imageNamed:@"Central.png"];
localNavController.tabBarItem.title=@"Central";
[localViewControllersArray addObject:localNavController];
PuckDisplay *puck=[[PuckDisplay alloc]initWithNibName:@"Display" bundle:nil];
localNavController = [[UINavigationController alloc] initWithRootViewController:uck];
//localNavController.tabBarItem.image = [UIImage imageNamed:@"Display.png"];
localNavController.tabBarItem.title=@" Display";
[localViewControllersArray addObject:localNavController];
PhotoBooth *photo=[[PhotoBooth alloc]initWithNibName:@"Booth" bundle:nil];
localNavController = [[UINavigationController alloc] initWithRootViewController:photo];
//localNavController.tabBarItem.image = [UIImage imageNamed:@"Booth.png"];
localNavController.tabBarItem.title=@"Booth";
[localViewControllersArray addObject:localNavController];
More *more=[[More alloc]initWithNibName:@"More" bundle:nil];
localNavController = [[UINavigationController alloc] initWithRootViewController:more];
//localNavController.tabBarItem.image = [UIImage imageNamed:@"home.png"];
localNavController.tabBarItem.title=@"More";
[localViewControllersArray addObject:localNavController];
tabBarController.viewControllers = localViewControllersArray;
[[UITabBarItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor grayColor], UITextAttributeTextColor,
[UIColor grayColor], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, 1)], UITextAttributeTextShadowOffset,
[UIFont fontWithName:@"Helvetica" size:0.0], UITextAttributeFont, nil]
forState:UIControlStateNormal];
UITabBarItem *tabBarItem1 = [[self.tabBarController.tabBar items] objectAtIndex:0];
[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"CentralA.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"Central.png"]];
UITabBarItem *tabBarItem2 = [[self.tabBarController.tabBar items] objectAtIndex:1];
[tabBarItem2 setFinishedSelectedImage:[UIImage imageNamed:@"DisplayA.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"Display.png"]];
UITabBarItem *tabBarItem3 = [[self.tabBarController.tabBar items] objectAtIndex:2];
[tabBarItem3 setFinishedSelectedImage:[UIImage imageNamed:@"BoothA.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"Booth.png"]];
UITabBarItem *tabBarItem4 = [[self.tabBarController.tabBar items] objectAtIndex:3];
[tabBarItem4 setFinishedSelectedImage:[UIImage imageNamed:@"moreA.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"more.png"]];
2. if u want only change tabbar color then change tabbar tin color
self.tabBarController.tabBar.tintColor = [UIColor colorWithRed:(157/255.0) green:(33/255.0) blue:(33/255.0) alpha:1];
于 2013-05-02T08:25:34.377 回答
0
在苹果文档中没有解决方案。我以我自己的带有自定义按钮的伪造标签栏结束。
于 2010-12-21T09:45:22.060 回答