An den anderen Antworten ist nichts auszusetzen. Ich teile nur die Storyboard-Version zum Festlegen der Schriftart.
1. Wählen Sie Ihre Navigationsleiste in Ihrem Navigationscontroller aus
2. Ändern Sie die Titelschriftart im Attributinspektor
(Sie müssen wahrscheinlich die Balkentönung für die Navigationsleiste umschalten, bevor Xcode die neue Schriftart übernimmt.)
Anmerkungen (Vorsichtsmaßnahmen)
Verifiziert, dass dies unter Xcode 7.1.1+ funktioniert. ( Siehe die Beispiele unten )
- Sie müssen den Farbton der Navigationsleiste umschalten, bevor die Schriftart wirksam wird (scheint ein Fehler in Xcode zu sein; Sie können ihn wieder auf die Standardeinstellung zurücksetzen und die Schriftart bleibt erhalten).
- Wenn Sie eine Systemschriftart auswählen ~ Stellen Sie sicher, dass die Größe nicht 0,0 ist (andernfalls wird die neue Schriftart ignoriert).
- Dies scheint problemlos zu funktionieren, wenn sich nur eine NavBar in der Ansichtshierarchie befindet. Es scheint, dass sekundäre NavBars im selben Stapel ignoriert werden. (Beachten Sie, dass alle anderen benutzerdefinierten navBar-Einstellungen ignoriert werden, wenn Sie die navBar des Master-Navigationscontrollers anzeigen.)
Gotchas (deux)
Einige davon werden wiederholt, was bedeutet, dass sie sehr wahrscheinlich erwähnenswert sind.
- Manchmal wird die Storyboard-XML beschädigt. Dazu müssen Sie die Struktur im Storyboard als Quellcode-Modus überprüfen (klicken Sie mit der rechten Maustaste auf die Storyboard-Datei> Öffnen als ...).
- In einigen Fällen wurde das dem benutzerdefinierten Laufzeitattribut zugeordnete Navigationselement-Tag als XML-Kind des Ansichtstags anstelle des Ansichtscontrollertags festgelegt. Wenn ja, entfernen Sie es zwischen den Tags, um einen ordnungsgemäßen Betrieb zu gewährleisten.
- Schalten Sie den NavBar-Farbton um, um sicherzustellen, dass die benutzerdefinierte Schriftart verwendet wird.
- Überprüfen Sie den Größenparameter der Schriftart, es sei denn, Sie verwenden einen dynamischen Schriftstil
- Die Ansichtshierarchie überschreibt die Einstellungen. Es scheint, dass eine Schriftart pro Stapel möglich ist.
Ergebnis
Proben
- Video mit mehreren Schriftarten im erweiterten Projekt
- Einfacher Quell-Download
- Erweiterter Projekt-Download ~ Zeigt mehrere NavBar-Schriftarten und Problemumgehungen für benutzerdefinierte Schriftarten an
- Video mit mehreren Schriftarten und benutzerdefinierten Schriftarten
Umgang mit benutzerdefinierten Schriftarten
Hinweis ~ Eine schöne Checkliste finden Sie auf der Website von Code With Chris. Sie können das Beispiel-Download-Projekt sehen.
Wenn Sie eine eigene Schriftart haben und diese in Ihrem Storyboard verwenden möchten, gibt es eine Reihe anständiger Antworten auf die folgende SO-Frage . Eine Antwort identifiziert diese Schritte.
- Holen Sie sich eine benutzerdefinierte Schriftartdatei (.ttf, .ttc)
- Importieren Sie die Schriftdateien in Ihr Xcode-Projekt
- Fügen Sie in der app-info.plist einen Schlüssel mit dem Namen Fonts hinzu, der von der Anwendung bereitgestellt wird. Es handelt sich um einen Array-Typ. Fügen Sie dem Array alle Ihre Font-Dateinamen hinzu. Hinweis: einschließlich der Dateierweiterung.
- Klicken Sie im Storyboard in der Navigationsleiste zum Attributinspektor und klicken Sie auf die rechte Symbolschaltfläche des Bereichs zur Auswahl der Schriftart. Wählen Sie im Popup-Fenster die Option Schriftart an Benutzerdefiniert aus und wählen Sie den Namen der Familie Ihrer eingebetteten Schriftart aus.
Problemumgehung für benutzerdefinierte Schriftarten
Xcode sieht natürlich so aus, als ob es benutzerdefinierte Schriftarten in UINavigationItem verarbeiten kann, aber diese Funktion wird nur nicht ordnungsgemäß aktualisiert (die ausgewählte Schriftart wird ignoriert).
Um dies zu umgehen:
Eine Möglichkeit besteht darin, das Problem mithilfe des Storyboards zu beheben und eine Codezeile hinzuzufügen: Fügen Sie dem View Controller zunächst eine UIView (UIButton, UILabel oder eine andere UIView-Unterklasse) hinzu (nicht das Navigationselement ... Xcode lässt dies derzeit nicht zu Das). Nachdem Sie das Steuerelement hinzugefügt haben, können Sie die Schriftart im Storyboard ändern und Ihrem View Controller eine Referenz als Ausgangsbasis hinzufügen. Weisen Sie diese Ansicht einfach der UINavigationItem.titleView zu. Bei Bedarf können Sie den Textnamen auch im Code festlegen. Gemeldeter Fehler (23600285).
@IBOutlet var customFontTitleView: UIButton!
//Sometime later...
self.navigationItem.titleView = customFontTitleView
quelle