iPhone-Systemschriftart

98

Wie heißt die Standard-Systemschriftart auf dem iPhone?

Ich möchte dies zum Anpassen von a abrufen UIView.

SK9
quelle

Antworten:

109

Zur Freude von Schriftpuristen überall verwendet die iPhone-Systemschnittstelle Helvetica oder eine Variante davon.

Die ursprüngliche Systemschnittstelle für iPhone, iPhone 3G und iPhone 3GS verwendet Helvetica. Wie der immer ausgezeichnete DaringFireball zum ersten Mal bemerkte, verwendet das iPhone 4 eine subtil überarbeitete Schriftart namens "Helvetica Neue". DaringFireball stellt außerdem fest, dass diese Änderung eher mit dem iPhone 4-Display als mit dem iOS 4-Betriebssystem zusammenhängt und ältere iPhone-Modelle mit iOS 4 weiterhin Helvetica als Systemschriftart verwenden.

Vor dem iPhone veröffentlichte iPod-Modelle verwenden entweder Chicago, Espy Sans oder Myriad und nach der Veröffentlichung des iPhone Helvetica.

Von http://www.everyipod.com/iphone-faq/iphone-who-designed-iphone-font-used-iphone-ringtones.html

Für iOS9 wurde es in San Francisco geändert . Weitere Informationen finden Sie unter http://developer.apple.com/fonts .

Gary Willoughby
quelle
6
Derzeit ist es Helvetica Neue Regular Schriftart.
Augustine
4
Für iOS9 wurde es in San Francisco geändert. Weitere Informationen finden Sie unter developer.apple.com/fonts .
Freek Sanders
103

Wenn Sie programmgesteuert anpassen, codieren Sie die Systemschriftart nicht fest. Verwendung UIFont systemFontOfSize:, UIFont boldSystemFontOfSize:und UIFont italicSystemFontOfSize( Apple - Dokumentation ).

Dies ist besonders relevant seit iOS 7, das die Systemschriftart in Helvetica Neue geändert hat.

Dies hat sich Super besonders relevant , da iOS 9, die die Systemschriftart geändert wieder nach San Francisco.

Adam Wright
quelle
1
Ich werde die Systemschriftart nicht ändern, das ist eine schlechte Idee. Aber ich möchte es für etwas HTML in UIWebView.
SK9
Dadurch wird die Systemschriftart nicht geändert. Sie erhalten lediglich UIFontInstanzen der Systemschriftart in den angegebenen Größen und geben die Systemschriftarten unabhängig von zukünftigen iOS-Updates immer zurück.
Adam Wright
Die Schriftart, die ich in meiner UIWebView sehe, sieht für mich nicht wie Helvetica aus. Ich könnte mich irren, aber das Festlegen der Schriftart für meine Ansicht beseitigt meine Zweifel.
SK9
"Codieren Sie die Systemschriftart nicht hart" ist je nach Situation ein guter oder ein wirklich schlechter Rat. Persönlich wünschte ich, ich hätte hartcodiert Helvetica... das jetzt zu tun.
Dan Rosenstark
Stimme voll und ganz zu, bitte nicht fest codieren. Dies sollte die richtige Antwort auf diese Frage sein
Esteve
16

afaik iPhone verwendet standardmäßig " Helvetica " <iOS 10

Vladimir
quelle
Wie aus anderen Antworten hervorgeht, hängt es von der iOS-Version ab
Ericosg
12

Schnell

Spezifische Schriftart

Das Festlegen einer bestimmten Schriftart in Swift erfolgt folgendermaßen:

let myFont = UIFont(name: "Helvetica", size: 17)

Wenn Sie den Namen nicht kennen, können Sie eine Liste der verfügbaren Schriftnamen wie folgt abrufen:

print(UIFont.familyNames())

Oder eine noch detailliertere Liste wie diese:

for familyName in UIFont.familyNames() {
    print(UIFont.fontNamesForFamilyName(familyName))
}

Die Systemschriftart ändert sich jedoch von Version zu Version von iOS. Daher ist es besser, die Systemschrift dynamisch abzurufen.

Systemschriftart

let myFont = UIFont.systemFontOfSize(17)

Aber wir haben die Größe fest codiert. Was ist, wenn die Augen des Benutzers schlecht sind und er die Schrift größer machen möchte? Natürlich können Sie in Ihrer App eine Einstellung vornehmen, damit der Benutzer die Schriftgröße ändert. Dies wäre jedoch ärgerlich, wenn der Benutzer dies für jede einzelne App auf seinem Telefon separat tun müsste. Es wäre einfacher, nur eine Änderung an den allgemeinen Einstellungen vorzunehmen ...

Dynamische Schriftart

let myFont = UIFont.preferredFont(forTextStyle: .body)

Ah, jetzt haben wir die Systemschrift in der vom Benutzer gewählten Größe für den Textstil, mit dem wir arbeiten. Dies ist die empfohlene Methode zum Festlegen der Schriftart. Weitere Informationen hierzu finden Sie unter Unterstützung des dynamischen Typs .

verbunden

Suragch
quelle
11

Sie können immer verwenden

UIFont *systemFont = [UIFont systemFontOfSize:12];
NSLog(@"what is it? %@ %@", systemFont.familyName, systemFont.fontName);

Die Antwort ist:

Bis zu iOS 6

 Helvetica Helvetica

iOS 7

.Helvetica Neue Interface .HelveticaNeueInterface-M3

aber du kannst es einfach benutzen Helvetica Neue

Dan Rosenstark
quelle
1
in Swift auf iOS 9 bekomme ich .SFUIText-RegularalssystemFont.familyName
Daniel
@simpleBob Mehr dazu: designforhackers.com/blog/apples-new-san-francisco-font
Dan Rosenstark
8

Ich bin nicht sicher, ob es eine API gibt, um den Standardnamen der Systemschriftart zu erhalten. Also bekomme ich einfach den Namen so:

    //get system default font
    UILabel *label = [[UILabel alloc] init];        
    fontname = label.font.fontName;
    [label release];

Sieht dumm aus, aber es funktioniert.

Perkin Tang
quelle
17
UIFont * font = [UIFont systemFontOfSize: 12.0]; <! - erhält Standardschriftart
Steven Baughman
Es gibt einfachere Methoden. Aber +1, um über den Tellerrand hinaus zu denken
Krishnabhadra
Es sieht besser aus: P [UIFont systemFontOfSize:[UIFont labelFontSize]];Siehe meine Antwort unten.
Anton Gaenko
3

Hier ist ein Update zur Unterstützung von iOS 7 . Es hat Dynamic Font Sizejetzt.

Für alle Apps, die "Dynamic Type" unterstützen, können Benutzer eine systemweite Schriftgröße in iOS 7 auswählen, indem sie einfach den Abschnitt "Allgemein" unter "Einstellungen" aufrufen und "Schriftgröße" auswählen.

UIFont *dynamicFont  = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];

Und Konstantenliste, ausführliche Erklärung finden Sie hier

NSString *const UIFontTextStyleHeadline;
NSString *const UIFontTextStyleSubheadline;
NSString *const UIFontTextStyleBody;
NSString *const UIFontTextStyleFootnote;
NSString *const UIFontTextStyleCaption1;
NSString *const UIFontTextStyleCaption2;
BS
quelle
3

Die Kategorie UIFontSystemFonts für UIFont ( UIInterface.h ) bietet mehrere praktische vordefinierte Größen.

@interface UIFont (UIFontSystemFonts)
 + (CGFloat)labelFontSize;
 + (CGFloat)buttonFontSize;
 + (CGFloat)smallSystemFontSize;
 + (CGFloat)systemFontSize;
@end 

Ich benutze es für Chat-Nachrichten (Labels) und es funktioniert gut, wenn ich die Größe von Textblöcken erhalten muss.

 [UIFont systemFontOfSize:[UIFont labelFontSize]];

Viel Spaß beim Codieren!

Anton Gaenko
quelle
3
UIFont *systemFont = [UIFont systemFontOfSize:[UIFont systemFontSize]];

Dadurch erhalten Sie die Systemschriftart mit der Standard-Systemschriftgröße, die standardmäßig für die Beschriftungstexte angewendet wird.

Rohit Saraf
quelle
2

Schnell

Sie sollten immer die Systemstandards verwenden und den Schriftnamen nicht fest codieren, da die Standardschrift von Apple jederzeit geändert werden kann.

Es gibt einige Systemstandardschriftarten (normal, fett , kursiv ) mit unterschiedlichen Größen (Beschriftung, Schaltfläche, andere):

let font = UIFont.systemFont(ofSize: UIFont.systemFontSize)
let font2 = UIFont.boldSystemFont(ofSize: UIFont.systemFontSize)
let font3 = UIFont.italicSystemFont(ofSize: UIFont.systemFontSize)

Beaware, dass die Standardschriftgröße von der Zielansicht abhängt (Beschriftung, Schaltfläche, andere)

Beispiele:

let labelFont = UIFont.systemFont(ofSize: UIFont.labelFontSize)
let buttonFont = UIFont.systemFont(ofSize: UIFont.buttonFontSize)
let textFieldFont = UIFont.systemFont(ofSize: UIFont.systemFontSize)
Musa almatri
quelle
0
  1. Download der erforderlichen .ttf-Datei

  2. Fügen Sie die .ttf-Datei unter Kopierpaketressource hinzu, und überprüfen Sie, ob die ttf-Datei unter Ressource hinzugefügt wurde

  3. Fügen Sie in info.pllist den Namen der ttf-Datei so hinzu, wie er ist.

  4. Öffnen Sie nun das Schriftbuch. Fügen Sie die .ttf-Datei in das Schriftbuch ein und wählen Sie das Informationssymbol aus. Dort finden Sie den Namen des Postskripts.

  5. Geben Sie nun den Postscript-Namen anstelle des Schriftartnamens an

K. Gowri Manohari
quelle
0

Die Standardschriftart für iOS ist San Francisco. Sie können den Link für weitere Details verweisen

Sateesh Pasala
quelle