Risposte:
Per la gioia dei puristi dei font di tutto il mondo, l'interfaccia del sistema iPhone utilizza Helvetica o una sua variante.
L'interfaccia del sistema originale per iPhone, iPhone 3G e iPhone 3GS utilizza Helvetica. Come notato per la prima volta dal sempre eccellente DaringFireball, l'iPhone 4 utilizza un font leggermente rivisto chiamato "Helvetica Neue". DaringFireball rileva inoltre che questa modifica è correlata al display dell'iPhone 4 piuttosto che al sistema operativo iOS 4 e ai vecchi modelli di iPhone con iOS 4 utilizzano ancora Helvetica come carattere di sistema.
I modelli di iPod rilasciati prima dell'iPhone utilizzano Chicago, Espy Sans o Myriad e utilizzano Helvetica dopo il rilascio dell'iPhone.
Da http://www.everyipod.com/iphone-faq/iphone-who-designed-iphone-font-used-iphone-ringtones.html
Per iOS9 è cambiato in San Fransisco . Vedi http://developer.apple.com/fonts per maggiori informazioni.
Se stai facendo la personalizzazione programmatica, non codificare il carattere di sistema. Usa UIFont systemFontOfSize:
, UIFont boldSystemFontOfSize:
e UIFont italicSystemFontOfSize
( la documentazione di Apple ).
Ciò è diventato particolarmente rilevante da iOS 7, che ha cambiato il carattere di sistema in Helvetica Neue.
Questo è diventato eccellente particolarmente rilevante dal momento che iOS 9, che ha cambiato il carattere di sistema di nuovo a San Francisco.
UIFont
istanze del carattere di sistema utilizzando le dimensioni date e restituirà sempre i caratteri di sistema indipendentemente dai futuri aggiornamenti di iOS.
Helvetica
... farlo ora.
Carattere specifico
L'impostazione di un carattere specifico in Swift viene eseguita in questo modo:
let myFont = UIFont(name: "Helvetica", size: 17)
Se non conosci il nome, puoi ottenere un elenco dei nomi dei caratteri disponibili in questo modo:
print(UIFont.familyNames())
O un elenco ancora più dettagliato come questo:
for familyName in UIFont.familyNames() {
print(UIFont.fontNamesForFamilyName(familyName))
}
Ma il carattere di sistema cambia da versione a versione di iOS. Quindi sarebbe meglio ottenere il carattere di sistema in modo dinamico.
Carattere di sistema
let myFont = UIFont.systemFontOfSize(17)
Ma abbiamo la dimensione hard-coded. E se gli occhi dell'utente sono cattivi e vogliono ingrandire il carattere? Ovviamente, potresti fare un'impostazione nella tua app per consentire all'utente di modificare la dimensione del carattere, ma sarebbe fastidioso se l'utente dovesse farlo separatamente per ogni singola app sul proprio telefono. Sarebbe più semplice apportare una sola modifica alle impostazioni generali ...
Carattere dinamico
let myFont = UIFont.preferredFont(forTextStyle: .body)
Ah, ora abbiamo il carattere di sistema nella dimensione scelta dall'utente per lo stile di testo con cui stiamo lavorando. Questo è il modo consigliato per impostare il carattere. Vedere Supporto del tipo dinamico per maggiori informazioni su questo.
Puoi sempre usare
UIFont *systemFont = [UIFont systemFontOfSize:12];
NSLog(@"what is it? %@ %@", systemFont.familyName, systemFont.fontName);
La risposta è:
Fino a iOS 6
Helvetica Helvetica
iOS 7
.Helvetica Neue Interface .HelveticaNeueInterface-M3
ma puoi semplicemente usare Helvetica Neue
.SFUIText-Regular
comesystemFont.familyName
Non sono sicuro che esista un'API per ottenere il nome del carattere di sistema predefinito. Quindi ottengo il nome in questo modo:
//get system default font
UILabel *label = [[UILabel alloc] init];
fontname = label.font.fontName;
[label release];
Sembra stupido ma funziona.
[UIFont systemFontOfSize:[UIFont labelFontSize]];
Vedi la mia risposta di seguito.
Ecco alcuni aggiornamenti per supportare iOS 7 . Adesso Dynamic Font Size
sì.
Per tutte le app che supportano "Tipo dinamico", gli utenti possono selezionare una dimensione del carattere in iOS 7 che funzioni a livello di sistema, semplicemente visitando la sezione "Generale" in "Impostazioni" e selezionando "Dimensione carattere".
UIFont *dynamicFont = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
E l'elenco delle costanti, la spiegazione dettagliata è qui
NSString *const UIFontTextStyleHeadline;
NSString *const UIFontTextStyleSubheadline;
NSString *const UIFontTextStyleBody;
NSString *const UIFontTextStyleFootnote;
NSString *const UIFontTextStyleCaption1;
NSString *const UIFontTextStyleCaption2;
La categoria UIFontSystemFonts per UIFont ( UIInterface.h ) fornisce diverse dimensioni predefinite convenienti.
@interface UIFont (UIFontSystemFonts)
+ (CGFloat)labelFontSize;
+ (CGFloat)buttonFontSize;
+ (CGFloat)smallSystemFontSize;
+ (CGFloat)systemFontSize;
@end
Lo uso per i messaggi di chat (etichette) e funziona bene quando ho bisogno di ottenere le dimensioni dei blocchi di testo.
[UIFont systemFontOfSize:[UIFont labelFontSize]];
Buona programmazione!
UIFont *systemFont = [UIFont systemFontOfSize:[UIFont systemFontSize]];
Questo ti darà il carattere di sistema con la dimensione del carattere di sistema predefinita applicata per impostazione predefinita ai testi dell'etichetta.
Swift
Dovresti sempre usare le impostazioni di sistema e non codificare il nome del carattere perché il carattere predefinito potrebbe essere modificato da Apple in qualsiasi momento.
Ci sono un paio di caratteri predefiniti di sistema (normale, grassetto , corsivo ) con dimensioni diverse (etichetta, pulsante, altri):
let font = UIFont.systemFont(ofSize: UIFont.systemFontSize)
let font2 = UIFont.boldSystemFont(ofSize: UIFont.systemFontSize)
let font3 = UIFont.italicSystemFont(ofSize: UIFont.systemFontSize)
sapere che la dimensione del carattere predefinita dipende dalla vista di destinazione (etichetta, pulsante, altro)
Esempi:
let labelFont = UIFont.systemFont(ofSize: UIFont.labelFontSize)
let buttonFont = UIFont.systemFont(ofSize: UIFont.buttonFontSize)
let textFieldFont = UIFont.systemFont(ofSize: UIFont.systemFontSize)
download del file .ttf richiesto
aggiungi il file .ttf sotto la risorsa del bundle di copia, controlla se il file ttf è stato aggiunto sotto la risorsa
In info.pllist aggiungi il nome del file ttf così com'è.
ora apri il libro dei caratteri aggiungi il file .ttf nel libro dei caratteri, seleziona l'icona delle informazioni lì trovi il nome postscript.
ora dai il nome postscript al posto del nome del font
Il carattere predefinito per iOS è San Francisco. È possibile fare riferimento al collegamento per ulteriori dettagli