37 votes

Comment utilisez-vous setTitleTextAttributes: forState dans UIBarItem dans iOS 5.0?

Comment utilisez-vous setTitleTextAttributes:forState dans UIBarItem dans la version 5.0 d'iOS? Comment définissez-vous le dictionnaire? Ne peux pas faire ce travail et de la documentation n'est pas très clair à ce sujet...

À partir de la documentation:

setTitleTextAttributes:forState:

Définit le titre du texte attributs d'un état de contrôle.

- (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state

Paramètres:

attributs: Un dictionnaire contenant des paires clé-valeur pour les attributs de texte. Vous pouvez spécifier la police, la couleur du texte, du texte la couleur de l'ombre, et l'ombre du texte le décalage avec les clés répertoriés dans NSString UIKit Ajouts de Référence.

état: Le contrôle de l'état pour lequel vous souhaitez définir les attributs de texte pour le titre.

Disponibilité: Disponible sous iOS 5.0 et versions ultérieures.

103voto

phix23 Points 24407

Exemple de code:

     [[UIBarItem appearance] setTitleTextAttributes:
     [NSDictionary dictionaryWithObjectsAndKeys:
      [UIColor colorWithRed:220.0/255.0 green:104.0/255.0 blue:1.0/255.0 alpha:1.0], UITextAttributeTextColor, 
      [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0], UITextAttributeTextShadowColor, 
      [NSValue valueWithUIOffset:UIOffsetMake(0, 1)], UITextAttributeTextShadowOffset, 
      [UIFont fontWithName:@"AmericanTypewriter" size:0.0], UITextAttributeFont, 
      nil] 
     forState:UIControlStateNormal];
 

43voto

mehul patel Points 716

Réponse mise à jour pour iOS 7.0 et supérieur.

 NSShadow *shadow = [NSShadow new];
[shadow setShadowColor:[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]];
[shadow setShadowOffset:CGSizeMake(0, 1)];

[[UIBarItem appearance] setTitleTextAttributes:@{
                                                 NSForegroundColorAttributeName: [UIColor colorWithRed:220.0/255.0 green:104.0/255.0 blue:1.0/255.0 alpha:1.0],
                                                 NSShadowAttributeName: shadow,
                                                 NSFontAttributeName: [UIFont fontWithName:@"AmericanTypewriter" size:0.0]}
                                      forState: UIControlStateNormal];
 

7voto

Shaheen Ghiassy Points 1191

Voici le code de phix23, juste avec une syntaxe mise à jour, et je pense plus propre:

 [[UIBarItem appearance] setTitleTextAttributes:@{
                      UITextAttributeTextColor: [UIColor colorWithRed:220.0/255.0 green:104.0/255.0 blue:1.0/255.0 alpha:1.0],
                UITextAttributeTextShadowColor: [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0],
               UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0, 1)],
                           UITextAttributeFont: [UIFont fontWithName:@"AmericanTypewriter" size:0.0]}
                                      forState: UIControlStateNormal];
 

1voto

Mike Mellor Points 129
[self.tabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:[UIColor whiteColor], nil] forKeys:[NSArray arrayWithObjects:UITextAttributeTextColor, nil]] forState:UIControlStateNormal];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X