Janum Trivedi Janum Trivedi - 4 months ago 26
iOS Question

How to set a custom font for entire iOS app without specifying size

I'm trying to apply a custom font throughout my

iOS app
. I found that I could use:

[[UILabel appearance] setFont:[UIFont fontWithName:@"Proxima Nova" size:17.0]];

  • To set the default font and size for all
    . However, not all my
    share the same font size.

  • In Set a default font for whole iOS app?, someone had the same concern, and was told to set the size parameter to 0.0 to only set the font and not font size.

  • When I tried doing this, all the
    text in my app disappeared (because evidently
    took the 0.0 font size literally).

Any suggestions as to how I can universally set a font but not size? Thanks a lot!

- (void)viewDidLoad
    [super viewDidLoad];
    [self setFontFamily:@"FagoOfficeSans-Regular" forView:self.view andSubViews:YES];

-(void)setFontFamily:(NSString*)fontFamily forView:(UIView*)view andSubViews:(BOOL)isSubViews
    if ([view isKindOfClass:[UILabel class]])
        UILabel *lbl = (UILabel *)view;
        [lbl setFont:[UIFont fontWithName:fontFamily size:[[lbl font] pointSize]]];

    if (isSubViews)
        for (UIView *sview in view.subviews)
            [self setFontFamily:fontFamily forView:sview andSubViews:YES];