web-dev-qa-db-fra.com

Comment changer la couleur de police d'un UIBarButtonitem?

Je veux changer la couleur en rouge.

19
Sheehan Alam

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.

8
Tim Isganitis

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];
103
Gavy

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];
6
ProgrammingNinja

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];
3
mask

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)
1
Sunil Singh

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

0
Mehedi Hasan