Ich möchte die Schriftart "Avenir" verwenden, die in iOS 6 enthalten ist. Bedeutet das, dass ein Gerät mit iOS 5 die Schriftart nicht sehen kann? Wenn ja, gibt es eine Möglichkeit, auf eine andere Schriftart zurückzugreifen, wenn "Avenir" auf ihrem Gerät nicht verfügbar ist?Können wir eine Schriftart in iOS 6 verwenden, wenn sie nicht in iOS 5 enthalten ist?
7
A
Antwort
4
Sie können die Schriftart auswählen, die Sie in iOS verwenden möchten < 6 und sie bei Bedarf zuweisen. Definieren Sie ein Makro wie folgt aus:
#define SYSTEM_VERSION_LESS_THAN(v)
([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
und dann können Sie in Ihrem Code tun:
NSString *fontName = @"Avenir";
if SYSTEM_VERSION_LESS_THAN(6.0) {
fontName = @"ArialMT";
}
Sie eine Liste der unterstützten Schriftarten finden Sie hier: http://iosfonts.com/
Warum sich plagen Überprüfung iOS-Versionen? Probieren Sie die erste Schriftart aus. Wenn Sie ein 'nil'' UIFont' erhalten, dann greifen Sie auf die andere Schriftart zurück. Dies wird die App auch ein wenig zukunftssicher machen. – rmaddy
Was passiert mit Schriftarten, die mit Storyboards/Interface Builder zugewiesen wurden? Ich kann sehen, dass Avenir in der Liste enthalten ist. Irgendwelche Ideen darüber, was auf iOS5 passieren würde? –
@Ben Clayton Man kann eine Schriftart verwenden, die mit iOS 6.0 verfügbar ist, falls die Schriftart nicht mit niedrigeren Versionen von iOS, d. H. IOS <6.0, verfügbar ist, wird eine Systemstandardschrift, d.h. Helvetica, verwendet. –