Je préfère le faire d'une manière légèrement plus générique, ce qui vous permet de dimensionner votre texte dans Interface Builder et de simplement remplacer les polices au moment de l'exécution.
Je crée une propriété IBCollection pour tous les éléments UIKit auxquels définir une police, puis je connecte les éléments appropriés à partir d'IB.
@property (strong, nonatomic) IBOutletCollection(id) NSArray *lightFontItems;
@property (strong, nonatomic) IBOutletCollection(id) NSArray *regularFontItems;
Ensuite, à mon avis, j'ai chargé j'utilise une méthode comme celle-ci:
[self setFontName:@"Roboto-Light" onItemsInArray:[self lightFontItems]];
[self setFontName:@"Roboto-Regular" onItemsInArray:[self regularFontItems]];
Et la méthode setLightFontOnItemsInArray:
ressemble à ceci:
+ (void)setFontName:(NSString *)fontName onItemsInArray:(NSArray *)array;
{
[array each:^(id item) {
if (![item respondsToSelector:@selector(setFont:)]) return;
[item performSelector:@selector(setFont:) withObject:[UIFont fontWithName:fontName size:[[item font] pointSize]]];
}];
}