Je veux que l'arrière-plan de la barre de navigation soit noir et toutes les couleurs à l'intérieur soient blanches .
J'ai donc utilisé ce code:
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor],
NSForegroundColorAttributeName,
[UIColor whiteColor],
NSForegroundColorAttributeName,
[NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
NSForegroundColorAttributeName,
[UIFont fontWithName:@"Arial-Bold" size:0.0],
NSFontAttributeName,
nil]];
Mais la couleur du texte du bouton de retour , la flèche et le bouton de la barre ont toujours la couleur bleue par défaut .
Comment changer ces couleurs comme sur l'image ci-dessous?
Réponses:
Le comportement de certaines des propriétés de
UINavigationBar
a changé depuis iOS 7 . Vous pouvez voir dans l'image ci-dessous:Deux beaux liens que je voudrais partager avec vous. Pour plus de détails, vous pouvez consulter ces liens:
La documentation Apple pour barTintColor indique:
Exemple de code:
la source
[self.navigationController.navigationBar setTitleTextAttributes:@{[UIFont fontWithName:@"YOURFONT" size:14], NSFontAttributeName}];
Celui-ci m'a pris environ une demi-journée pour comprendre, mais c'est ce qui a fonctionné pour moi. À l'intérieur du rootViewController qui initialise le navigationController, j'ai mis ce code dans ma méthode viewDidAppear:
Mon article complet à ce sujet ici
la source
Swift3, ios 10
Pour attribuer globalement la couleur, dans AppDelegate
didFinishLaunchingWithOptions
:Swift 4, iOS 11
la source
La réponse de Vin a très bien fonctionné pour moi. Voici la même solution pour les développeurs C # utilisant Xamarin.iOS / MonoTouch:
la source
Swift / iOS8
la source
la source
Pour changer la couleur du
UINavigationBar
titre de la bonne façon, utilisez ce code:UITextAttributeTextColor
est déconseillé dans la dernière version d'ios 7. UtilisezNSForegroundColorAttributeName
plutôt.la source
Si vous cherchez à changer la taille du texte du titre et la couleur du texte, vous devez changer le NSDictionary titleTextAttributes , pour 2 de ses objets:
la source
Je pense que les réponses précédentes sont correctes, c'est une autre façon de faire la même chose. Je le partage ici avec d'autres au cas où cela deviendrait utile pour quelqu'un. Voici comment vous pouvez changer la couleur du texte / titre de la barre de navigation dans ios7:
la source
Il semble que les
Accessibility
commandes de laiOS Settings
priorité remplacent à peu près tout ce que vous essayez de faire en termes de couleurs aux boutons de la barre de navigation. Assurez-vous que tous les paramètres sont définis sur les positions par défaut ( désactivez l' augmentation du contraste, le texte en gras , les formes des boutons, etc.), sinon vous ne verrez rien changer. Une fois que je l'ai fait, tout le code de changement de couleur a commencé à fonctionner comme prévu. Vous n'aurez peut-être pas besoin de les désactiver tous, mais je ne l'ai pas poursuivi.la source
Swift 5 / iOS 13
Pour changer la couleur du titre dans le contrôleur:
la source