Je veux changer la couleur en rouge.
Cette question a reçu une réponse ici . Fondamentalement, vous devez créer un UIButton, le configurer à votre guise, puis initialiser l’élément du bouton de barre avec le UIButton en tant que vue personnalisée.
J'ai trouvé un moyen plus simple de changer la couleur du titre: iOS7:
UIBarButtonItem *button =
[[UIBarButtonItem alloc] initWithTitle:@"Title"
style:UIBarButtonItemStyleBordered
target:nil
action:nil];
[button setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor redColor], NSForegroundColorAttributeName,nil]
forState:UIControlStateNormal];
et avant iOS7:
UIBarButtonItem *button =
[[UIBarButtonItem alloc] initWithTitle:@"Title"
style:UIBarButtonItemStyleBordered
target:nil
action:nil];
[button setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor redColor], UITextAttributeTextColor,nil]
forState:UIControlStateNormal];
Il existe deux façons de changer la couleur de UIBarButtonITem affiché.
1)
[barButtonITem setTintColor:[UIColor redColor]];
2) ou vous pouvez utiliser n’importe quelle méthode de classe UIColor. C'est vraiment une solution efficace. Bien pour iOS 7, vous pouvez utiliser NSForegroundColorAttributeName et
barButtonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor clearColor],NSForegroundColorAttributeName, nil] forState:UIControlStateNormal];
Sur une note similaire de Guvvy Ava, vous pouvez modifier la taille de la police, comme
[buttonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIFont fontWithName:@"Helvetica-Bold" size:26.0], UITextAttributeFont,nil] forState:UIControlStateNormal];
Swift version 4.0 ou ultérieure
barButtonITem.tintColor = UIColor.red // for textColor change
si vous voulez changer la police ainsi que la couleur du texte, utilisez le code suivant
barButtonITem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor :UIColor.red,NSAttributedStringKey.font:UIFont.init(name:"Avenir", size:15.0)], for: UIControlState.normal)
Si vous utilisez un bouton de la barre de navigation du système, vous pouvez utiliser la couleur correspondante.
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
Pour changer la couleur du texte du bouton, utilisez également le code suivant.
[[UIBarButtonItem appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]} forState:UIControlStateNormal];
Ajoutez la ligne de code suivante avec quel viewcontroller vous voulez changer de couleur