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]];
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
Vous devez vous connecter pour publier un commentaire.
La barre de navigation est partagé par tous les contrôleurs de vue de la manette de navigation. Donc, une fois que vous modifiez la barre de navigation, affichage de toutes les contrôleurs de la même valeur liquidative de la pile sera affectée. Une option serait de créer un personnalisé titleView pour cette une-vue-contrôleur.
De cette façon, seule la une-vue-contrôleur affiche le titre personnalisé.
Une autre option serait de changer l'apparence de la barre de navigation dans la vue du contrôleur de viewWillAppear méthode, puis réinitialiser la vue du contrôleur de viewWillDisappear méthode. Mais cette approche ne peut pas être aussi lisse que simplement en utilisant une mesure titleView.
OriginalL'auteur rmaddy
Donc, maintenant la vôtre attribué touches est obsolète. Utilisez cette clés:
OriginalL'auteur Aleksandr Osnach