Ich habe in meiner vorherigen App eine benutzerdefinierte Schriftart verwendet.
Der Dateiname war "ProximaNova-Regular.otf" und um die Schriftart zu laden, die ich gerade verwendet habe ...
[UIFont fontWithName:@"ProximaNova-Regular" size:20];
Das hat perfekt funktioniert.
Jetzt in dieser neuen App habe ich drei Schriftdateien ...
Dude_Willie.otf
Impact
handsean.ttf
Aber ich bin mir nicht sicher, wie ich diese laden soll.
Ich habe versucht
[UIFont fontWithName:<the file name> size:20];
Dies geht jedoch nur auf die Verwendung von Helvetica zurück.
Wie finde ich den zu verwendenden Namen?
Antworten:
Befolgen Sie diese vier einfachen Schritte, um eine neue Schriftart in Ihrer iOS-App hinzuzufügen und zu verwenden:
UIAppFonts
Array hinzu (Klartext für dieses Feld lautet "Von der Anwendung bereitgestellte Schriftarten").//Schnell
//Ziel c
UIFont *myNewFont = [UIFont fontWithName:@"font_name_from_debug_output" size:20]
und Sie sollten im Geschäft sein!quelle
Klicken Sie mit der rechten Maustaste auf TTF -> Info abrufen
"Vollständiger Name" ist das, wonach Sie suchen.
Das hat bei mir mit TTFs funktioniert.
Bearbeiten:
Ich habe gerade eine Schriftart verwendet, die einen anderen Namen als "Vollständiger Name" in Get Info hatte.
Führen Sie für die Zusammenstellung dieser Antwort den folgenden Code in Ihrem Projekt aus, wenn die obige Schnellprüfung nicht funktioniert:
Suchen Sie nach dem richtigen Namen der Schriftart, die Sie verwenden möchten.
Swift 3.0 Code:
quelle
quelle
Um Schriftarten in iOS zu verwenden, müssen Sie die Schriftart basierend auf dem vollständigen Namen der Schriftart (PostScript-Name) laden , der sich manchmal (und normalerweise) vom tatsächlichen Dateinamen der Schriftart unterscheidet .
Es gibt einige gute programmatische Möglichkeiten, um den Schriftnamen bereits in diesem Thread abzurufen, aber ich habe einen anderen Ansatz über die Befehlszeile.
Wenn Sie auf einem Mac oder Linux arbeiten, führen Sie dieses Skript einfach über die Befehlszeile in dem Verzeichnis aus, in dem Sie Ihre benutzerdefinierten Schriftarten haben (verwendet das
fc-scan
Dienstprogramm von fontconfig, das wahrscheinlich bereits installiert ist, aber wenn nicht, können Sie es über Homebrew installieren :)brew install fontconfig
:Hier ist ein Screenshot des obigen Befehls, der in meinem
~/Library/Fonts
Verzeichnis ausgeführt wird:Das obige Skript durchläuft alle
.ttf
und.otf
-Dateien im aktuellen Verzeichnis und druckt dann den PostScript-Namen aus für jede Schriftart aus, mit der Sie auf die Schriftartdatei in XCode oder anderswo verweisen können.Wenn Sie zusätzliche Informationen (PostScriptName, Dateiname) und eine Farbcodierung wünschen, können Sie dieses alternative Skript ausführen:
Dies ist etwas schneller als das Einfügen von Code in Ihre AppDelegate.m-Datei, um die Namen jedes Mal auszudrucken, wenn Sie eine neue Schriftartdatei hinzufügen möchten. Dies ist die beliebte Methode und auch schneller als das Öffnen der Schriftart in FontBook to Überprüfen Sie den PostScript-Namen.
NÜTZLICHER TIPP: Wenn Sie das obige Skript in Ihrem Terminal als Alias verwenden, müssen Sie nur einen einzigen Befehl eingeben , um alle PostScript-Schriftnamen für alle Dateien im aktuellen Verzeichnis abzurufen (meine Funktion heißt
fontnames
also alles, was ich tun muss ist Typfontnames
am Terminal innerhalb des Verzeichnisses mit Schriftarten in ihm, und die Postscript - Namen automatisch gedruckt wird, dann werden Sie Zeit in Ihrem Entwicklungs Workflow und haben dieses handliche Skript einsatzbereit, wenn Sie es brauchen speichern.Hoffe das hilft!
quelle
fc-scan
Dienstprogramm möglicherweise bereits installiert. Was passiert, wenn Siefc-scan -V
auf dem Terminal laufen ?brew install fontconfig
.Sie möchten wissen, wie Sie einen Namen dafür bekommen: -
hoffe es hilft dir ...
quelle
Wenn Sie den Schriftnamen für eine bestimmte Schriftdatei programmgesteuert suchen möchten:
Ersetzen Sie sie
Error
nach Bedarf durch Ihre eigenen Wurfgegenstände .quelle
Swift 3.0
quelle
Schnelle 4.0+ Lösung
Wird ausgegeben:
quelle
Nachdem Sie Ihre Schriftarten zu Ihrem Projekt / Ihrer App hinzugefügt haben, fügen Sie diesen Code hinzu (wahrscheinlich nur in der Methode didFinishLaunchingWithOptions des App-Delegaten), um alle verfügbaren Schriftarten für Ihre App auszudrucken. Anhand dieser Liste sollten Sie in der Lage sein, die gewünschte Schriftart zu identifizieren. Vergessen Sie nicht, den unnötigen Code danach zu entfernen.
quelle
Sie können auch otfinfo --info arial.ttf verwenden, um den Namen von der Befehlszeile abzurufen. Der Postscript-Name ist derjenige, den Sie an den UIFont-Konstruktor übergeben müssen.
quelle
Swift 1.2:
quelle
Protokollieren Sie die Familiennamen der Schriftartdatei und greifen Sie dann auf die Schriftarten zu:
Hoffe es hilft dir.
quelle
Ein weiterer "schneller, praktischer" Hack, bei dem nicht alle Standardschriftarten durchsucht werden, die entweder auf dem Emulator oder auf dem Gerät vorhanden sind, besteht darin, die Schriftart für etwas in Ihrem Storyboard zu verwenden. Wenn Sie dann das Storyboard mit einem Texteditor bearbeiten, können Sie die mit "internen" Namen verwendeten Schriftarten anzeigen, wenn Sie nach dem Tag "customFonts" suchen:
quelle
Listen Sie Schriftnamen und Familien für macOS mit Swift 4.1 auf :
quelle
Swift 4.0 unterstützt
Dies ist nur ein Zeilencode zum Drucken aller Schriftfamilien und der Namen der Schriftarten
quelle