J'ai cherché sur plusieurs forums différents et je n'arrive pas à trouver une réponse pour cela. J'ai ajouté un élément de barre à un contrôleur de navigation et défini son style sur UIBarButtonItemStyleDone. Lorsqu'il s'agit du premier contrôleur de la pile de navigation, le bouton s'affiche correctement en bleu. Cependant, lorsque le contrôleur est créé et poussé sur la pile, le style est ignoré et s'affiche en noir.UIBarButtonItemStyleDone ne crée pas de boutons bleus dans la barre de navigation lorsque le contrôleur est poussé
Je sais que ce problème se produit lorsque le tintColor a été modifié, mais j'utilise le standard UIBarStyleBlack et ne définit pas tintColor. J'ai aussi essayé de mettre tintColor à zéro, mais ça ne marche pas non plus.
Code pertinent:
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
self.navigationItem.rightBarButtonItem =
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
target:self
action:@selector(createNew:)];
self.navigationItem.rightBarButtonItem.style = UIBarButtonItemStyleDone;
}
Toutes les idées ou solutions de contournement seraient grandement appréciés.
Le bouton apparaîtra en bleu, donc la propriété de style doit faire quelque chose, elle apparaît simplement en bleu de manière incohérente. – Cameron
Néanmoins, grahamparks a raison - utilisez l'élément système Terminé. – Bill
Si vous faites: '[[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemDone cible: action de soi: @selector (createNew :)];' cela fonctionnera. Tout comme souligné par grahamparks –