Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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 UILabels. However, not all my UILabels 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 UILabel text in my app disappeared (because evidently iOS took the 0.0 font size literally).

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

like image 304
Janum Trivedi Avatar asked Aug 10 '12 19:08

Janum Trivedi


People also ask

How do I put custom fonts on my iPhone apps?

You can download fonts from the App Store app , then use them in documents you create on iPhone. After you download an app containing fonts from the App Store, open the app to install the fonts. To manage installed fonts, go to Settings > General, then tap Fonts.

Can you change your entire iPhone font?

Press the Settings button in the upper-right corner of the screen. Tap on Fonts. Under the Select Font list, choose your desired font style. Tap Done.


1 Answers

- (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];         }     }     } 
like image 128
Maurice Raguse Avatar answered Sep 25 '22 06:09

Maurice Raguse