Fügen Sie benutzerdefinierte Schriftarten hinzu - Android & iOS - Swift

Also bin ich ein Android-Entwickler, Punkt. Ich habe seit einigen Jahren Anwendungen für die Android-Plattformen entwickelt. Ich habe die verschiedenen Projekte, an denen ich gearbeitet habe, sehr genossen und es macht einfach Spaß, Dinge mit der Technologie zu machen, die Sie so gut kennen.

Aber ich wollte Swift jetzt schon eine Weile lernen und vor einigen Monaten habe ich endlich den Sprung gewagt. Eines der ersten Dinge, die ich fand, war, dass die Lernkurve ziemlich tief war, sei es die Migration von Android Studio zu Xcode oder die Verwendung von Storyboards im Gegensatz zur XML-Codierung in Android.

Also wollte ich einige meiner Hürden teilen, die ich hatte, in der Hoffnung, dass Leute, die auf die gleichen Probleme stoßen, dies ziemlich hilfreich finden würden.

Eines der ersten Dinge, die ich beim Starten eines neuen Projekts in Android tue, ist das Hinzufügen einiger neuer Schriftarten.

In Android kopieren Sie Ihre Schriftarten in den Assets-Ordner im Projekt. Standardmäßig sollte sich der Assets-Ordner unter Ihrem Projektstammordner befinden -> app -> src -> main

Android - Asset-Ordner-Verzeichnis

Hinweis: Wenn kein Asset-Ordner erstellt wurde, können Sie einfach einen Ordner unter dem Hauptverzeichnis hinzufügen und Ihre Zeichensätze in den Asset-Ordner aufnehmen.

Um diese Schriftart in Ihrer App zu verwenden, müssen Sie lediglich zwei Codezeilen schreiben:

Typeface myTypeFace = Typeface.createFromAsset (getContext (). GetAssets (), "circular_medium.otf");
setTypeface (myTypeFace);

Oder, wenn Sie wie ich sind und den obigen Code nicht in alle 50 Ihrer Textansichten oder editTexts schreiben möchten, können Sie diesen Link verwenden, um Ihr Leben zu vereinfachen. (Es ist eine Wrapper-Klasse, die ich geschrieben habe, um Schriften direkt in Ihre XML-Datei einzufügen.)

Und das ist es! Sie haben Ihre Schriftart zu Ihrer Android-App hinzugefügt.

Unter iOS empfehle ich dagegen, alles über die Xcode-IDE hinzuzufügen.

Also Schritt 1: Sie müssen zuerst Ihre Schriften per Drag & Drop in Ihren Projektordner ziehen.

Stellen Sie sicher, dass Sie die Schriftart unter dem Projektordner hinzufügen

Dies öffnet die folgende Eingabeaufforderung:

Schritt 2: Stellen Sie sicher, dass das Kontrollkästchen Zu Zielen hinzufügen wie oben gezeigt aktiviert ist, und aktivieren Sie das Kontrollkästchen Elemente bei Bedarf kopieren.

Jetzt wird Ihre Schriftart zum Projekt hinzugefügt. Um es jetzt zu benutzen, müssen wir es deklarieren.

Schritt 3: Öffnen Sie die Datei info.plist, klicken Sie mit der rechten Maustaste und wählen Sie Zeile hinzufügen:

Wählen Sie in der Zeile die Option Von Anwendung hinzugefügte Schriftarten aus.

Ich habe die Datei circular_book.otf manuell eingegeben

Stellen Sie sicher, dass der von Ihnen angegebene Name mit dem Namen der Schriftartdatei übereinstimmt.

Schritt 4: Führen Sie eine schnelle Überprüfung durch, ob sich Ihre Schriften in den Erstellungsphasen -> Ressourcen bündeln befinden.

Die Schriftarten werden zu den Erstellungsphasen hinzugefügt

Schritt 5: Die Schriftart wird Ihrem Projekt hinzugefügt. Jetzt um es zu benutzen!

Sie können einer Schaltfläche, Beschriftung oder einem Textfeld ein Attribut hinzufügen

Suchen Sie in Ihrem Storyboard die Schriftart über das Dropdown-Menü.

Wenn Sie es programmgesteuert aus Ihrem Code verwenden möchten:

Zuerst müssen Sie den Namen der Schriftart kennen. Wie Apple vorschlägt, kann der Name der Schriftart etwas völlig anderes sein als der Name der Datei.

So fügen Sie den folgenden Code hinzu, um alle Schriftnamen zu drucken:

für Familie in UIFont.familyNames.sorted () {
    let names = UIFont.fontNames (forFamilyName: family)
    print ("Familie: \ (Familie) Schriftname: \ (Name)")
}

Sobald Sie den Schriftnamen kennen, können Sie einfach Folgendes aufrufen:

// Für Button:
button.titleLabel? .font = UIFont (Name: "Circular-Book", Größe: 20)
// Für Labels:
label.font = UIFont (Name: "Circular-Book", Größe: 20)

Und das ist es!

Benutzerdefiniertes Schriftbild in Android

Ich hoffe das war nützlich!