Question

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;
}
Was it helpful?

Solution

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

[UIFont boldSystemFontOfSize:17.0];

OTHER TIPS

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"

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

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];
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top