La meilleure réponse est celle avec la méthode d'extension .withTraits () de @Maksymilian Wojakowski
No
monsieur monsieur comment définir le style de la zone de texte en gras sans déclarer l'objectif de taille c
Ramani Hitesh
3
Ceci est problématique car vous utilisez un nom de police fixe. Comme cela est sujet à changement, ce n'est pas une bonne solution. La réponse de Maksymilian Wojakowski est meilleure et beaucoup plus flexible.
Ray Wojciechowski
274
N'essayez pas de jouer avec les noms de polices. En utilisant le descripteur de police, vous n'avez besoin d'aucun nom:
UILabel* label =[[UILabel alloc] init];// use your label object instead of thisUIFontDescriptor* fontD =[label.font.fontDescriptor
fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold|UIFontDescriptorTraitItalic];
label.font =[UIFont fontWithDescriptor:fontD size:0];
Je ne sais pas pourquoi cela n'a pas reçu plus de votes! Pour les polices où vous n'avez pas de style gras ou italique, c'est génial!
Chris Prince
4
Ahhh. Je vois pourquoi ce n'est peut-être pas si populaire. Uniquement disponible dans iOS7 et au-dessus ...
Chris Prince
3
Je ne sais pas si cela devrait être considéré sous NDA, mais avec Xcode6 et iOS8 GM seed, je reçois un descripteur de police nul pour une police personnalisée alors qu'il n'était pas nul sous iOS7.
Chris Prince
@Maksymilian peut-on refuser cette méthode quelque part dans plusieurs libellés ie: uitableview
Majid Bashir
2
Juste une note rapide car cette réponse est très utile: return withTraits(.TraitBold, .TraitCondensed)devrait probablement return withTraits(.TraitBold, .TraitItalic)correspondre au nom de la fonction.
Mais voici la grande question, en plus d'utiliser fontWithName: @ "Arial-Light" comment spécifiez-vous les autres poids dans votre capture d'écran? Tout évoque boldSystemFontSize (sur: __) mais que faire si quelqu'un veut de la lumière ou de l'ultra-léger?
Dave G
6
J'ai le même problème qui doit appliquer à la fois gras et italique sur une étiquette et un bouton. Vous pouvez simplement utiliser le code suivant pour obtenir cet effet:
Je pense que vous vouliez dire "Arial", pas "Ariel" :)
MMMM
Pour Arial, cela ne fonctionne pas. Mais, cela fonctionne pour Helvetica-BoldOblique. Voir la documentation UIFont ici iphonedevwiki.net/index.php/UIFont
sudip
1
Vous voulez dire "HelveticaNeue", pas "Arial" :)
jpmartineau
et si nous ajoutions notre police personnalisée .. ??
Majid Bashir
6
Avec la police par défaut du système iOS 7, vous utiliserez helvetica neue bold si vous souhaitez conserver la police par défaut du système.
il est utile lors de la réutilisation d'une cellule et que vous souhaitez supprimer l'italique que vous avez mis sur une étiquette dans une cellule précédente
Comme cela a déjà été mentionné dans ces réponses, vous avez juste besoin du bon nom de police . Je trouve que iOSFonts.com est la ressource la plus utile pour savoir exactement quel nom utiliser.
Excellente ressource! Je l'ai parcouru dans mon appareil iOS et j'ai trouvé une belle police, puis j'ai utilisé "fontWithName" pour en obtenir une instance.
Bien que la réponse fournie par @tolbard soit incroyable et fonctionne bien!
Je pense que créer une extension pour quelque chose qui peut être réalisé en une seule ligne de code serait un sur-kill.
Vous pouvez obtenir un style gras et italique pour le même texte dans votre labelen configurant la propriété de police en utilisant UIFontDescriptorcomme indiqué ci-dessous dans l'exemple ci-dessous en utilisant Swift 4.0 :
Plusieurs fois, le texte en gras est considéré d'une manière d'architecture d'information à un autre niveau et n'a donc pas gras et régulier sur une ligne, vous pouvez donc le diviser en deux étiquettes / textViews, une régulière et en italique gras. Et utilisez l'éditeur pour choisir les styles de police.
Réponses:
Il existe une liste de noms de polices que vous pouvez définir à la place de l'attribut «fontWithName». Le lien est ici
la source
N'essayez pas de jouer avec les noms de polices. En utilisant le descripteur de police, vous n'avez besoin d'aucun nom:
size:0
signifie «garder la taille telle quelle»Avec Swift, essayez l'extension suivante:
Ensuite, vous pouvez l'utiliser de cette façon:
ou même ajouter des traits supplémentaires comme Condensé:
Mise à jour pour Swift 4:
Utilisez-le comme suit:
myLabel.font = myLabel.font.bold
ou
myLabel.font = myLabel.font.italic
ou
myLabel.font = myLabel.font.with(traits: [ .traitBold, .traitCondensed ])
Mise à jour pour Swift 5
la source
return withTraits(.TraitBold, .TraitCondensed)
devrait probablementreturn withTraits(.TraitBold, .TraitItalic)
correspondre au nom de la fonction.@Edinator jetez un œil à ce sujet.
utilisez l'un des éléments ci-dessus à l'heure que vous souhaitez
la source
Vous pouvez définir n'importe quel style de police, famille, taille pour l'étiquette, en cliquant sur la lettre «T» dans le champ Police .
la source
J'ai le même problème qui doit appliquer à la fois gras et italique sur une étiquette et un bouton. Vous pouvez simplement utiliser le code suivant pour obtenir cet effet:
la source
Avec la police par défaut du système iOS 7, vous utiliserez helvetica neue bold si vous souhaitez conserver la police par défaut du système.
Ou vous pouvez simplement l'appeler:
la source
Swift 3
Audacieux:
let bondFont = UIFont.boldSystemFont(ofSize:UIFont.labelFontSize)
Italique:
let italicFont = UIFont.italicSystemFont(ofSize:UIFont.labelFontSize)
la source
vous pouvez faire une police d'étiquette / bouton en gras en utilisant également ceci
la source
J'ai fait une variation de la réponse de maksymilian wojakowski où vous pouvez ajouter ou supprimer un (des) trait (s)
exemple
il est utile lors de la réutilisation d'une cellule et que vous souhaitez supprimer l'italique que vous avez mis sur une étiquette dans une cellule précédente
la source
J'ai récemment écrit un article de blog sur les restrictions de l'API UIFont et comment les résoudre. Vous pouvez le voir ici
Avec le code que je fournis là-bas, vous pouvez obtenir votre UIFont souhaité aussi facilement que:
UIFont *myFont = [FontResolver fontWithDescription:@"font-family: Helvetica; font-weight: bold; font-style: italic;"];
Et puis réglez-le sur votre UILabel (ou autre) avec:
myLabel.font = myFont;
la source
Comme cela a déjà été mentionné dans ces réponses, vous avez juste besoin du bon nom de police . Je trouve que iOSFonts.com est la ressource la plus utile pour savoir exactement quel nom utiliser.
la source
Exemple de texte en gras:
Exemple de texte italique:
la source
Bien que la réponse fournie par @tolbard soit incroyable et fonctionne bien!
Je pense que créer une extension pour quelque chose qui peut être réalisé en une seule ligne de code serait un sur-kill.
Vous pouvez obtenir un style gras et italique pour le même texte dans votre
label
en configurant la propriété de police en utilisantUIFontDescriptor
comme indiqué ci-dessous dans l'exemple ci-dessous en utilisant Swift 4.0 :D'autres options incluent:
Pour plus d'informations sur la signification de ces traits symboliques? visitez ici
la source
Mise à jour de la réponse impressionnante de Maksymilian Wojakowski pour Swift 3
la source
C'est très simple. Voici le code.
Cela vous aidera.
la source
Je veux juste mentionner ça,
Ils ont des résultats différents ...
la source
Plusieurs fois, le texte en gras est considéré d'une manière d'architecture d'information à un autre niveau et n'a donc pas gras et régulier sur une ligne, vous pouvez donc le diviser en deux étiquettes / textViews, une régulière et en italique gras. Et utilisez l'éditeur pour choisir les styles de police.
la source
Avec Swift 5
la source