7
votes

I have an app where I am setting the font for a UILabel programmatically as below

[label setFont:[UIFont fontWithName:fontName size:[fontSize intValue]]];

wherein fontName is a string type variable that hold font name such as "Helvetica" and fontSize will hold the size of the font. This works fine for me. Now I want to make this text "Bold" how can I do that?

boldSystemFontOfSize 

works for system font. How can I achieve the same for user defined fonts ?

Thanks.

3
I notice some things when using custom fonts. I have a file named MavenPro-Bold.ttf but the font name I use to make it work has to be MavenProBold.The Muffin Man

3 Answers

11
votes

Try using @"Helvetica-Bold" as the fontName.

4
votes

Try this,

NSArray *arr = [UIFont fontNamesForFamilyName:@"myFavoriteFont"];
NSString *fontName = [arr objectAtIndex:0]; //or [arr objectAtIndex:1], it depends
[label setFont:[UIFont fontWithName:fontName size:[fontSize intValue]]];
3
votes

Try,

fontName = @"myFavouriteFont-Bold";
[label setFont:[UIFont fontWithName:fontName size:[fontSize intValue]]];

By using the the method fontWithName:size:, you can set the font name with style. Doc says that the fontName is the fully specified name of the font and this name incorporates both the font family name and the specific style information for the font.