Comment puis-je régler le titletextattributes pour un UINavigation bar pour un seul point de vue du contrôleur?

J'essaye de modifier la taille de la police de mon point de vue, les contrôleurs parce qu'il se prête à plus de texte, nécessitant ainsi une taille de police plus petite que mes autres points de vue. Je suis réglage de la barre de navigation attributs dans l'appdelegate pendant didFinishLaunchingWithOptions, puis réglage de la police de mon point de vue, contrôleur en question au cours de la viewDidLoad. Cependant, quand je reviens d'un écran, ou en avant, les modifications que j'ai apportées à la barre de navigation sont conservées, c'est à dire la police plus petite. Est-il un moyen de contourner cela? Par exemple réglage de la police de retour à la normale à la sortie de la vue ou de quelque chose?

Cliffsnotes: Essayer de définir la police dans un seul point de vue du contrôleur, mais une fois que je l'ai mis, il s'applique à tous les contrôleurs de vue.

Code est comme suit:

Dans AppDelegate:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbar.png"] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setTitleTextAttributes:
 [NSDictionary dictionaryWithObjectsAndKeys:
  [UIColor clearColor],
  UITextAttributeTextColor,
  [UIColor whiteColor],
  UITextAttributeTextShadowColor,
  [NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
  UITextAttributeTextShadowOffset,
  [UIFont fontWithName:@"QuicksandBold-Regular" size:24.0],
  UITextAttributeFont,
  nil]];

Dans la vue contrôleur viewDidLoad:

[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                                     [UIColor clearColor],
                                                                     UITextAttributeTextColor,
                                                                     [UIColor whiteColor],
                                                                     UITextAttributeTextShadowColor,
                                                                     [NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
                                                                     UITextAttributeTextShadowOffset,
                                                                     [UIFont fontWithName:@"QuicksandBold-Regular" size:18.0],
                                                                     UITextAttributeFont,
                                                                     nil]];
J'ai essayé de modifier la couleur du titre avec votre solution: NSDictionary *titleTextAttributes = [[UINavigationBar appearance] titleTextAttributes]; [titleTextAttributes setValue:[UIColor colorWithRed:0.48627454040000001 green:0.050980396570000003 blue:0.13725490870000001 alpha:1] forKey:UITextAttributeTextColor]; [[UINavigationBar appearance] setTitleTextAttributes:titleTextAttributes]; Mais ne fonctionne pas :S!

OriginalL'auteur Hudson Buddy | 2012-10-09