2016-11-17 2 views
1

Je travaille sur une application UITabBar.UITabBar Élément sélectionné Teinte Couleur

Je souhaite modifier l'élément sélectionné couleur avec

[[UITabBar appearance] setTintColor:[UIColor redColor]] 

Cela fonctionne, jusqu'à ce que je veux régler la couleur de fond de la TabBar avec

[[UITabBar appearance] setBarTintColor:[UIColor blueColor]] 

Ensuite, la barre est bleu, mais le Les éléments en surbrillance sont gris.

[[UITabBar appearance] setBackgroundColor:[UIColor blueColor]] 

n'a aucun effet. Une idée? Merci beaucoup!

+2

Au lieu d'utiliser la couleur, vous pouvez essayer le fond avec des images. –

+0

Merci - fond avec des images travaillées par une autre application. Mais j'ai fait maintenant les icônes en deux couleurs :) – Steeve

Répondre

0

Votre code, que vous avez posté, semble fonctionner. Vous pouvez le faire avec des images aussi. Essayez ceci:

[tabBarItem1 setImage:[[UIImage imageNamed:@"home.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]]; 
[tabBarItem1 setSelectedImage:[[UIImage imageNamed:@"home_selected.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]]; 

// Change the tab bar background 
UIImage* tabBarBackground = [UIImage imageNamed:@"tabbar.png"]; 
[[UITabBar appearance] setBackgroundImage:tabBarBackground]; 
[[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"tabbar_selected.png"]]; 
+0

Merci, c'est ce que j'ai fait maintenant. J'ai mis de fond encore avec un UIColor, mais j'ai sélectionné et non sélectionné des icônes – Steeve

2

Essayez ce Code

//Set greenColor for normal State 
[UITabBarItem.appearance setTitleTextAttributes:@{ 
     UITextAttributeTextColor : [UIColor greenColor] } forState:UIControlStateNormal]; 
//Set purpleColor for normal State 


[UITabBarItem.appearance setTitleTextAttributes:@{ 
     UITextAttributeTextColor : [UIColor purpleColor] }  forState:UIControlStateSelected]; 

Hope this helps.