J'ai le code suivant dans mon application.
tmp=[[UILabel alloc] initWithFrame:label1Frame];
tmp.tag=1;
tmp.textColor=[UIColor blackColor];
[tmp setFont:[UIFont fontWithName:@"American Typewriter" size:18]];
tmp.backgroundColor=[UIColor clearColor];
[cell.contentView addSubview:tmp];
[tmp release];
Maintenant, j'ai besoin de savoir,
======> comment définir "Caractère = gras" dans le code?
Vous devrez utiliser le nom de la police bold
dans la famille. Pour savoir s’il existe une version bold
de American Typewriter, essayez d’afficher
[UIFont fontNamesForFamilyName:@"AmericanTypewriter"]
à la console.
Dans ce cas, vous devriez utiliser "AmericanTypewriter-Bold"
.
[UIFont fontNamesForFamilyName:@"AmericanTypewriter-Bold"]
Qu'en est-il de l'utilisation de la propriété setter:
// Create a string
NSString *text = @"You are getting sleepy.";
// Get a font to draw it in
UIFont *font = [UIFont boldSystemFontOfSize:28];
// Draw the string
[text drawInRect:(CGRect)
withFont:font];
Just NSLog La police que vous voulez obtenir:
NSLog(@" %@", [UIFont fontNamesForFamilyName:@"American Typewriter"]);
Et vous obtenez le tableau:
(
"AmericanTypewriter-CondensedLight",
"AmericanTypewriter-Light",
"AmericanTypewriter-Bold",
AmericanTypewriter,
"AmericanTypewriter-CondensedBold",
"AmericanTypewriter-Condensed"
)
Utilisez tout ce dont vous avez besoin dans le code:
UILabel * loading = [[UILabel alloc] initWithFrame:CGRectMake(350, 402, 150, 25)];
[loading setFont:[UIFont fontWithName:@"AmericanTypewriter-Bold" size:12.0]];
[loading setTextColor:[UIColor whiteColor]];
[loading setBackgroundColor:[UIColor clearColor]];
[loading setText:@"Loading ..."];
[self.view addSubview:loading];
Vous pouvez obtenir tous les noms de police pris en charge par iOS sur ce site iOSfonts . Prenez un aperçu de votre chaîne exacte pour trouver la meilleure police et utilisez-la comme indiqué dans les réponses ci-dessus
UILabel * myLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 400, 150, 50)];
[loading setFont:[UIFont fontWithName:@"Avenir-Black" size:12.0]];
[loading setTextColor:[UIColor redColor]];
[loading setBackgroundColor:[UIColor clearColor]];
[loading setText:@"My Label Title"];
[self.view myLabel];
Comme @devinfoley l'a écrit, vous devez ajouter -Bold
au fontName
que vous utilisez. Pour moi, cela ne fonctionne pas avec fontNamesForFamilyName
, j'utilise plutôt fontWithName:size
. Peut-être que cela fonctionne si vous créez le UILabel
par programme. Dans mon cas, je mets simplement font
à l'intérieur de l'extension de mon UILabel
dans awakeFromNib
et mets cette extension à class
dans Identity Inspector
pour mon UILabel
spécifique. Avec self.font.pointSize
, vous pouvez définir fontSize
à l'intérieur de Interface Builder
et le gérer mieux si vous avez plus d'éléments d'interface utilisateur.
- (void)awakeFromNib{
[super awakeFromNib];
[self setAdjustsFontSizeToFitWidth:YES];
[self setFont:[UIFont fontWithName:@"Font-Bold" size:self.font.pointSize]];
}
Si votre font
ne fonctionne pas, vous devez imprimer tous les fonts
de la famille afin de voir si vous avez mal écrit fontName
. De cette façon, vous pouvez également vérifier si une police bold
est disponible. Si elle n'est pas imprimée, vous ne disposez pas de cette option.
NSLog (@"Available Fonts: %@", [UIFont fontNamesForFamilyName:@"Your Font"]);
Plus d'articles font
: https://stackoverflow.com/a/8529661/1141395
Mise à jour rapide
Si vous avez déjà ajouté la police à l'application (comme expliqué ici ), vous pouvez utiliser la fonction extension
de Swift avec, par exemple, une variable UILabel
et la police Roboto:
extension UILabel {
func setFont(style: String, size: Int){
self.font = UIFont(name: style, size: CGFloat(size))
}
struct FontStyle {
public static let italic: String = "Roboto-LightItalic"
public static let normal: String = "Roboto-Light"
public static let thin: String = "Roboto-Thin"
}
}
Roboto-LightItalic
et Roboto-Light
sont les noms de fichier de polices du TTF. Ensuite, vous pouvez simplement appeler
someUILabel.setFont(style: UILabel.FontStyle.normal, size: 20)