J'ai un UIBarButtonItem dans mon UIToolBar avec le titre Terminé. Je souhaite maintenant changer la police par défaut en "Trebuchet MS" en gras, comment puis-je effectuer cette tâche? s'il vous plaît guidez-moi sur cette tâche.
Réponses
Trop de publicités?Pour être précis, cela peut être fait comme ci-dessous
[buttonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIFont fontWithName:@"Helvetica-Bold" size:26.0], NSFontAttributeName,
[UIColor greenColor], NSForegroundColorAttributeName,
nil]
forState:UIControlStateNormal];
Ou avec la syntaxe littérale d'objet:
[buttonItem setTitleTextAttributes:@{
NSFontAttributeName: [UIFont fontWithName:@"Helvetica-Bold" size:26.0],
NSForegroundColorAttributeName: [UIColor greenColor]
} forState:UIControlStateNormal];
Je suis un peu en retard à la fête, mais j'ai pensé contribuent à cette question. Bâtiment sur @masque & @teriiehina de réponse...
Pour ceux qui s'intéressent à l'aide d' UIAppearance
de leur style UIBarButtonItem
s'polices dans l'application, il peut être accompli à l'aide de cette ligne de code:
NSDictionary *barButtonAppearanceDict = @{UITextAttributeFont : [UIFont fontWithName:@"HelveticaNeue-Light" size:12.0]};
[[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict forState:UIControlStateNormal];
Bien sûr, vous pouvez modifier la police et la taille de ce que vous souhaitez. Je préfère mettre ce code dans l' AppDelegate.m
le fichier dans l' didFinishLaunchingWithOptions
section.
Disponible UITextAttributes
(simplement les ajouter à l' NSDictionary
):
-
UITextAttributeFont
: Changer de police avec unUIFont
-
UITextAttributeTextColor
: Changement de couleur avec unUIColor
-
UITextAttributeShadowColor
: Changer la couleur de l'ombre avec unUIColor
-
UITextAttributeShadowOffset
: Changement de décalage d'ombre avec unUIOffset
Ce sont d'excellentes réponses ci-dessus. Juste mise à jour pour iOS7:
NSDictionary *barButtonAppearanceDict = @{NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Thin" size:18.0] , NSForegroundColorAttributeName: [UIColor whiteColor]};
[[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict forState:UIControlStateNormal];
Pour ce faire, pour quelques - UIBarButtonItems
mais pas tous, je vous recommande l'approche suivante.
- Créer un
UIBarButtonItem
sous-classe. Ne pas ajouter quoi que ce soit - que vous ne l'utiliser comme une classe personnalisée dans le storyboard et pour son aspect proxy... - Dans votre scénario, changement de la classe personnalisée pour tous souhaité
UIBarButtonItems
de votre sous-classe - Dans votre AppDelegate importer votre
UIBarButtonItem
sous-classe et ajoutez la ligne suivante à l'application:didFinishLaunchingWithOptions:
Dans mon cas, j'ai sous-classé UIBarButtonItem
pour le seul but de caractères gras dans le texte:
[[BoldBarButtonItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIFont boldSystemFontOfSize:18.0], NSFontAttributeName,nil]
forState:UIControlStateNormal];