Load and Access Custom Fonts

It’s surprisingly easy to add custom fonts to your iOS apps. Begin by adding the font(s) to your project, (drag/drag into the resources folder in the Project Window).

Next, add a property in the project plist named UIAppFonts, which is an array containing the names of each font you would like to make available in the application – if you are using the Property List Editor in Xcode, select Fonts provided by application from the dropdown list. Add an entry for each font:

The property list below is the text version of the plist file, here you can see the key UIAppFonts, the array and each of the two font entries:

To access the fonts within an application, call the method fontWithName in the UIFont class, include the font size as well:

UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(10, 30, 240, 40)];
[label1 setFont: [UIFont fontWithName: @"Grinched" size:24]];
[label1 setText:@"Grinched Font"];
[[self view] addSubview:label1];  
UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(10, 80, 240, 40)];
[label2 setFont: [UIFont fontWithName: @"Energon" size:18]];
[label2 setText:@"Energon Font"];
[[self view] addSubview:label2];

The output of the above looks as follows in the simulator:

To get a list of all the available font family names in your app, add this to your code:

NSLog(@"Available fonts: %@", [UIFont familyNames]);
  1. Thank you!

    Do you know if it is possible to import a font family to XCode? I mean, not only to use it on one single label, but to select a custom font for the whole project.


Comments are closed.