How to create bold UIFont
-
29-10-2019 - |
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;
}
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];