Coloriser UINavigationBar dans iOS
-
11-09-2019 - |
Question
Je colorisé orange, ma barre de navigation avec:
navigationController.navigationBar.tintColor = [UIColor colorWithRed:0.88 green:0.52 blue:0.27 alpha:1];
Tout fonctionne bien, chaque bouton est aussi orange comme la barre, mais quand ic CAMES à un menu élément personnalisé droite, il le montre bleu. Ceci est une capture d'écran: http://img146.imageshack.us/img146/5605/schermata20091202a14565 .png
et c'est le code pour les boutons à droite:
UIView *container = [[UIView alloc] init];
UIToolbar *tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 80, 45)];
NSMutableArray *buttons = [[NSMutableArray alloc] initWithCapacity:2];
UIBarButtonItem *bi = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addGadget:)];
bi.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi];
[bi release];
bi = [[UIBarButtonItem alloc]
initWithImage:[UIImage imageNamed:@"less.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(setEditing:)];
[buttons addObject:bi];
[bi release];
[tools setItems:buttons animated:NO];
[buttons release];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:tools];
[tools release];
Comment faire tout pour être orange?
La solution
Vous devez définir l'tintColor
de l'objet UIToolbar
être la même que celle du UINavigationBar
.
Notez qu'un UIToolbar
est pas identique à un UINavigationBar
, le gradient / couleur de fond est un peu différent. Essayez de régler la backgroundColor du UIToolbar à +[UIColor clearColor]
En outre, vous n'avez probablement besoin même pas le conteneur UIView
, puisque UIToolbar
est une sous-classe de UIView
, de sorte que vous pouvez l'utiliser comme CustomView par elle-même.