Ich entwickle ein Spiel und möchte eine benutzerdefinierte Schriftart in meiner App verwenden. Ich benutze SpriteKit dafür, wenn das wichtig ist. Ich habe versucht, diese https://github.com/deni2s/IBCustomFonts zu verwenden, aber ich kann sie nicht mit dieser Schriftart http://www.fontspace.com/freaky-fonts/emulogic zum Laufen bringen
Ich habe verschiedene Dinge ausprobiert und die Schriftart in der info.plist der App registriert ... Weiß jemand, was los ist?
Antworten:
Zunächst gehe ich davon aus, dass SpriteKit keinen Unterschied macht.
Schließlich möchten Sie alle Ihre Schriftarten auflisten, wenn die App gestartet wird, um nur den verwendbaren Namen für Ihre Schriftart zu sehen. Sie werden das mit diesem kleinen Code tun:
Suchen Sie in gedruckten Ergebnissen nach Ihrer Schriftart. Ich würde beispielsweise nach "Josefin" suchen und feststellen, dass der tatsächliche Schriftartname "JosefinSansStd-Light" lautet. Danach müssen Sie diese Schriftart nur noch verwenden von:
In iOS8 fügen Sie Ihre Schriftarten direkt zum Projekt hinzu und sie werden im Interface Builder angezeigt . Ändern Sie Ihren Code, um dies zu berücksichtigen, stellen Sie jedoch die Schriftart für iOS7 programmgesteuert ein und wählen Sie sie im xCode6 Interface Builder aus. PS. Der Interface Builder in xCode6 gibt Ihnen den richtigen Schriftnamen, den Sie kopieren und in den folgenden Code einfügen können.
Hoffe das hilft, Prost.
quelle
UIAppFonts
let fontFamilies = UIFont.familyNames() for familyName in fontFamilies { let fontNames = UIFont.fontNamesForFamilyName(familyName as String) println("\(familyName): \(fontNames)") }
for name in UIFont.familyNames() { debugPrint(UIFont.fontNamesForFamilyName(name)) }
Kein Problem, benutzerdefinierte Schriftarten zu verwenden, ich habe es getan. Folge diesen Schritten:
Und Ratschläge, fügen Sie diesen Namen als Makro in Ihre ..Prefix.pch-Datei ein. Es ist einfacher, es in Ihrem Projekt zu verwenden, wenn Sie die Schriftart mehrmals verwenden müssen.
Das Problem, das Sie meiner Meinung nach hatten, ist, dass Sie die Schriftart ordnungsgemäß registriert haben, sie jedoch nicht in das App-Bundle kopiert wurde. Als die App ausgeführt wurde, konnte sie die Schriftart nicht finden. Deshalb ist Schritt 2 wichtig. Ich habe viel Zeit damit verbracht, das beim ersten Mal herauszufinden :)
quelle
Um dies schnell zu erreichen
Wenn Sie alle Ihre Schriftarten auflisten möchten, wenn die App startet, sehen Sie nur den verwendbaren Namen für Ihre Schriftart. Sie können das mit diesem kleinen Code tun:
quelle
UIFont.familyNames.forEach { print("fontFamily: \($0), fonts: \(UIFont.fontNames(forFamilyName: $0))") }
Ich war noch nie in der Lage, diese Antworten auf die Arbeit zu bringen, nachdem ich es mehrmals versucht hatte. Die einzige Möglichkeit, eine benutzerdefinierte Schriftart zu erhalten, um den Anweisungen in der akzeptierten Antwort zu folgen und dann ein verstecktes Etikett im Storyboard zu erstellen, das die Schriftart verwendet. Ich kann die Schriftart programmgesteuert verwenden. Seltsam und hackig, ich weiß, aber es hat bei mir funktioniert.
quelle
Wenn Sie in Xcode 6 sind, ist es so einfach wie es nur geht. Fügen Sie einfach einen
font
Ordner in Ihr Projekt ein, fügen Sie Ihre Schriftart (en) in den Ordner ein und los geht's.quelle
Wenn keine der oben genannten Methoden für Sie funktioniert hat UND Sie Ihre benutzerdefinierte Schriftart nur "programmgesteuert" verwenden (dh Sie haben sie in keinem xib verwendet), müssen Sie sie mindestens einmal irgendwo in einem xib irgendwo verwenden .
(PS Stuart Clark - hat dies bereits beantwortet, also bitte keine Gutschrift für mich. Ich habe mich jedoch entschlossen, es neu zu formulieren und als separate Antwort zu veröffentlichen, da ich seine Antwort verpasst habe. Es war mir nicht klar, als ich sie las. Ich fand Ich habe diese Lösung zufällig getestet, als ich die benutzerdefinierte Schriftart in einer XIB getestet habe und festgestellt habe, dass sie an anderer Stelle programmgesteuert funktioniert. Als ich die Schriftart aus der XIB entfernt habe, hat sie programmgesteuert nicht mehr funktioniert.)
quelle
Aktualisiert für Swift 3.
quelle
Vielleicht eine schnelle Lösung - das hat es für mich getan, wenn die Schriftart bereits funktioniert hat, aber ein neues zB Label hat die gewünschte Schriftart nicht angezeigt:
sauberer, gründlicher und leerer abgeleiteter Datenordner.
quelle
quelle