Custom Fonts in Xcode 5 Custom Fonts in Xcode 5 xcode xcode

Custom Fonts in Xcode 5


You need to set every label programmatically with your custom Font.

To use custom font :

1/ add your custom font in your project like resources (font .ttf or .otf)

2/ in your info.plist add key UIAppFonts (Fonts provided by application) and and the name of each custom font (for example : SohoGothicStd.ttf)

3/ you can create macro for use your font

#define FONT_SOHO_STD(s) [UIFont fontWithName:@"SohoGothicStd" size:s]

4/ use this macro for a label par exemple :

_myLabel.font = FONT_SOHO_STD(15.0f);


I believe you need to use [UILabel appearance] proxy to set custom font for all labels across your application. Add following lines to your AppDelegate didFinishLaunchingWithOptions function to set custom font for all UILabels in your project.

UIFont *newFont = [UIFont fontWithName:@"My-Custom-Font-Name" size:14];[[UILabel appearance] setFont:newFont];

NOTE: You need to make sure your fonts are in your Xcode project.

Here are the steps you can follow to add custom font to the project.

  1. Add your custom font files into your project using Xcode as aresource
  2. Add a key to your Info.plist file called UIAppFonts.
  3. Make this key an array
  4. For each font you have, enter the full name of your font file(including the extension) as items to the UIAppFonts array
  5. Save Info.plist

Steps taken from: Can I embed a custom font in an iPhone application?


Yes you need to do it through code. I dont think XCode5 has added any new feature like such.To do it programmatically do the following :

Make a class which is subclass of UILabel then say you have something like Title which has font size 14 with Helverica-Bold

IN .h file

#import <UIKit/UIKit.h>@interface MyLabel : UILabel {}@end

In .m file

    #import "MyLabel.h"    @implementation MyLabel    - (id)initWithCoder:(NSCoder *)coder {    self = [super initWithCoder:coder];    if (self) {        self.font = [UIFont fontWithName:@"Helvetica-Bold" size:14];    }    return self;}    @end

Another example without using separate sub class

-(UILabel *) myTitleLabel {    UILabel *label = [[UILabel alloc] init];    label.backgroundColor=[UIColor clearColor];    [label setFont:[UIFont fontWithName:@"Helvetica-Bold" size:14]];    label.textColor=[UIColor colorWithRed:(79.0 / 255.0) green:(79.0 / 255.0) blue:(79.0 / 255.0) alpha: 1];    [label setTextAlignment:NSTextAlignmentLeft];    [label sizeToFit];    return label;}

Then you can use myTitleLabel class to create a object so that all the titleLabel Object will have same color and font size.