2010-12-07 18 views
0

J'utilise un contrôleur de barre d'onglets avec plus de 5 éléments d'onglets dont la couleur est verte (c.-à-d. Personnalisée) dans mon application. Comme nous le savons 5ème, 6ème .. les éléments de tabulation sont gérés automatiquement par MoreViewController. Ma question est 1) si je sélectionne l'élément Plus de tabulation, l'élément de couleur bleue que j'ai obtenu. 2) Si je passe de l'élément Plus de tabulation à l'élément précédent, j'ai également obtenu la couleur des éléments en bleu. Alors, comment rendre les éléments de la barre d'onglets en vert dans les deux cas?comment définir les éléments de la barre d'onglets couleur autre que le bleu par défaut, si nous avions plus de 5 éléments de la barre d'onglets?

Répondre

0

Dans la documentation Apple, il n'y a pas de solution pour cela. J'ai fini avec ma propre tabbar truquée avec des boutons personnalisés.

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"]; 
    [email protected]"Central"; 
    [localViewControllersArray addObject:localNavController]; 
    PuckDisplay *puck=[[PuckDisplay alloc]initWithNibName:@"Display" bundle:nil]; 
    localNavController = [[UINavigationController alloc] initWithRootViewController:uck]; 
    //localNavController.tabBarItem.image = [UIImage imageNamed:@"Display.png"]; 
    [email protected]" Display"; 
    [localViewControllersArray addObject:localNavController]; 

    PhotoBooth *photo=[[PhotoBooth alloc]initWithNibName:@"Booth" bundle:nil]; 
    localNavController = [[UINavigationController alloc] initWithRootViewController:photo]; 
    //localNavController.tabBarItem.image = [UIImage imageNamed:@"Booth.png"]; 
    [email protected]"Booth"; 
    [localViewControllersArray addObject:localNavController]; 

    More *more=[[More alloc]initWithNibName:@"More" bundle:nil]; 
    localNavController = [[UINavigationController alloc] initWithRootViewController:more]; 
    //localNavController.tabBarItem.image = [UIImage imageNamed:@"home.png"]; 
    [email protected]"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]; 
Questions connexes