Con la release 3.2 di iOS è possibile includere nelle risorse di un’applicazione propri font, da usare esatamente come quelli di forniti di sistema:
Applications that want to use custom fonts can now include those fonts in their application bundle and register those fonts with the system by including the
UIAppFontskey in theirInfo.plistfile. The value of this key is an array of strings identifying the font files in the application’s bundle. When the system sees the key, it loads the specified fonts and makes them available to the application.
Vediamo quindi i passi necessari per utilizzare un proprio font all’interno di un’applicazione iPhone/iPad con iOS 3.2+.
Scegliere il font
Prima di tutto scegliamo un font, individuiamolo nel filesystem e copiamo il file all’interno del nostro progetto Xcode:

Registrazione nel file plist
Inserito il font nel bundle editiamo il file plist dell’applicazione e inseriamo la chiave Fonts provided by application, inserendo il nome del file caricato nelle risorse, come mostrato nella figura qui sotto:

Identificazione del nome
In linea di principio abbiamo terminato la fase di installazione e registrazione del nostro, o dei nostri, font. Le procedure descritte sopra, infatti, possono essere ripetute per quanti font vogliamo. Per poter utilizzare il font è sufficiente creare un oggetto UIFont, come faremmo per qualsiasi altro font di sistema, utilizzando:
1 | [UIFont fontWithName:<nome font> size:<dimensione>] |
Per recuperare il nome da passare al metodo di classe fontWithName di UIFont, potete inserire all’interno del vostro codice questo semplice loop:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // Array con la lista di tutte le famiglie di fonts installati // compreso quello installato dall'applicazione NSArray *listOfFonts = [[NSArray alloc] initWithArray:[UIFont familyNames]]; for (NSString *fonts in listOfFonts) { NSLog(@"Font family: %@", fonts); // Nome del/dei font in base al nome della famiglia NSArray *subFontTypes = [NSArray arrayWithArray:[UIFont fontNamesForFamilyName:fonts]]; for (NSString *fontName in subFontTypes) { NSLog(@"+--> Font name: %@", fontName); } } [listOfFonts release]; |
Questo stamperà nella console tutte le famiglie di font e i relativi nomi:

Una famiglia, ad esempio Arial, ha 4 tipi di font (fontName) utilizzabili:

Il fontName è quello che interessa a noi, come mostrato nell’immagine di sopra: la freccia rossa indica il nome del font relativo alla famiglia Giddyup Std. A questo punto, se abbiamo una label ad esempio, sarà sufficiente scrivere:
1 2 3 | // Se myLabel è un oggetto UILabel [myLabel setFont:[UIFont fontWithName:@"GiddyupStd" size:20.0f]]; [myLabel setText: @"Font personale"]; |








7
Non ci sono commenti per questo Post
Lascia un commento