HurkNburkS
HurkNburkS

Reputation: 5510

How to create bold UIFont

I am doing some word wrapping in my tableview as some of the values are so big they go off the edge of the screen.

However, the font and size and boldness dose not match the default settings of the table view and was hoping someone could help me fix that up.

This is what I am doing to set the fields:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *cellText = @"Go get some text for your cell.";
    UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:17.0];
    CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
    CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];

    return labelSize.height + 20;
}

Upvotes: 33

Views: 60358

Answers (4)

danielbeard
danielbeard

Reputation: 9149

You have to ask for the font specifically, for example

[UIFont fontWithName:@"Helvetica-Bold" size:17.0]

Here is a list of available fonts: http://www.iphonedevsdk.com/forum/iphone-sdk-development/6000-list-uifonts-available.html

Upvotes: 28

Jesse Black
Jesse Black

Reputation: 7986

You can look into the fontNamesForFamilyName: method.

Specifically for Helvetica there are these families

NSLog(@"%@", [UIFont fontNamesForFamilyName:@"Helvetica"]);
"Helvetica-LightOblique",
Helvetica,
"Helvetica-Oblique",
"Helvetica-BoldOblique",
"Helvetica-Bold",
"Helvetica-Light"

Upvotes: 62

theTRON
theTRON

Reputation: 9659

If you're using the version of Helvetica that is bundled in iOS, you can simply do:

[UIFont boldSystemFontOfSize:17.0];

Upvotes: 61

Jesse Bunch
Jesse Bunch

Reputation: 6679

You would use:

+ (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize

If you provided a custom font or are using a system-provided font, you'd use the bold typeface as the name of the font:

[UIFont fontWithName:@"Arial-BoldMT" size:17];

Upvotes: 16

Related Questions