La UINavigationBar et UISearchBar ont tous deux une propriété tintColor qui permet de changer la couleur de la teinte (surprenant, je sais) des deux de ces éléments. Je veux faire la même chose pour le UITabBar dans mon application, mais ont trouvé moyen de maintenant de passer la valeur de la couleur noire par défaut. Toutes les idées ?
Réponses
Trop de publicités?iOS 5 a ajouté quelques nouvelles méthodes d’apparence pour personnaliser l’apparence de la plupart des éléments de l’interface utilisateur.
Vous pouvez cibler toutes les instances d’une UITabBar dans votre application en utilisant le proxy d’apparence :
ou une instance spécifique en utilisant l’une des nouvelles propriétés de cette classe :
J'ai un addendum à la réponse finale. Alors que l'essentiel schéma est correct, l'astuce de l'aide partiellement transparent de couleur peuvent être améliorées. Je suppose que c'est uniquement pour laisser la valeur par défaut de gradient de montrer à travers. Oh, aussi, la hauteur de la TabBar est de 49 pixels plutôt que de 48, au moins dans les OS 3.
Donc, si vous avez une 1 x 49 image avec un dégradé, c'est la version de viewDidLoad vous devez utiliser:
- (void)viewDidLoad {
[super viewDidLoad];
CGRect frame = CGRectMake(0, 0, 480, 49);
UIView *v = [[UIView alloc] initWithFrame:frame];
UIImage *i = [UIImage imageNamed:@"GO-21-TabBarColorx49.png"];
UIColor *c = [[UIColor alloc] initWithPatternImage:i];
v.backgroundColor = c;
[c release];
[[self tabBar] addSubview:v];
[v release];
}
Voici ce que le UITabBar ressemble: http://www.lehigh.edu/sol0/TabBarGradient.jpg