2017-06-29 1 views
2

J'utilise les nouveaux titres agrandis de barre de navigation dans iOS 11. Mais je ne peux pas sembler pouvoir changer le textColor.Changer la couleur du gros titre d'iOS 11

J'ai essayé de faire:

self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName: [UIColor whiteColor]}; 

Cela ne fait rien. Des idées?

+0

Copie possible de [Changement de la couleur du texte d'un titre de la barre de navigation lorsque "prefersLargeTitles" est défini sur true] (https://stackoverflow.com/questions/44619396/changing-the-text-color-of-a- barre de navigation-titre-quand-preferslargetitles-is-s) – Kqtr

+0

Il y avait peut-être un bogue dans Xcode, mais il fonctionne maintenant. Code de travail complet ici: https://stackoverflow.com/a/48598246/7698127 (ne pas poster une réponse ici pour éviter les réponses en double) – Kqtr

Répondre

11
self.navigationController.navigationBar.largeTitleTextAttributes = @{NSForegroundColorAttributeName: [UIColor whiteColor]}; 
+1

ne fonctionne pas pour moi :( –

3

Je pense qu'il est encore un bug dans Xcode 9 beta 6.

J'ai trouvé différentes "solutions" pour elle:

  1. Il est possible de changer la couleur du titre si vous mettez ceci dans le AppDelegate:
 
    if #available(iOS 11.0, *) { 
     UINavigationBar.appearance().largeTitleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.blue] 
    } 
  1. Othe r moyen est de définir la couleur dans votre contrôleur de viewDidLoad, mais le secret pour le faire fonctionner est de définir la police aussi:
 
    if #available(iOS 11.0, *) {    
     self.navigationController?.navigationBar.largeTitleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.blue, NSAttributedStringKey.font: UIFont.systemFont(ofSize: 31, weight: UIFont.Weight.bold) ] 
    } 

espérons qu'il vous aidera.

Cordialement!

+0

si #available (iOS 11.0, *) pas trouvé! –

+0

Est-ce que vous utilisez Xcode 9? –

+0

Oui, toute solution dans Xcode 9? –