как установить цвет элементов панели вкладок, отличный от синего по умолчанию, если у нас было более 5 элементов панели вкладок? - PullRequest
0 голосов
/ 07 декабря 2010

Я использую контроллер панели вкладок с более чем 5 элементами вкладки с зеленым цветом (т.е. настроенным) в моем приложении.Как мы знаем, элементы 5, 6 .. вкладок автоматически обрабатываются MoreViewController.У меня вопрос: 1) если я выберу пункт «Больше вкладок», я получу синий цвет.2) Если я переключусь с элемента «Больше вкладок» на предыдущий, я также получу синий цвет элементов.Итак, как сделать так, чтобы элементы вкладок были зелеными в обоих случаях?

Ответы [ 2 ]

0 голосов
/ 02 мая 2013
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];
0 голосов
/ 21 декабря 2010

В документации Apple нет решения для этого. Я закончил с моей собственной фальшивой вкладкой с настроенными кнопками.

...