Ich erstelle ein Spiel in Xcode (Version 7.0 Beta) mit Swift und möchte am Ende des Spiels das Label "Game Over" in der Schriftart "gameOver.ttf" anzeigen. Ich habe die Schriftart zu meinem Ressourcenordner hinzugefügt. Ich weiß nicht, wie ich in meinem Code darauf verweisen soll. Kann ich bitte Hilfe bekommen? .__ Mein Code:
let label = SKLabelNode(fontNamed: "gameOver")
label.text = "Game Over"
label.fontColor = SKColor.redColor()
label.fontSize = 150
label.position = CGPointMake(0, 100)
label.horizontalAlignmentMode = .Center
node.addChild(label)
Gehen Sie folgendermaßen vor, um Ihrer Anwendung eine benutzerdefinierte Schriftart hinzuzufügen:
Jetzt ist die Schriftart in Interface Builder verfügbar. Um die benutzerdefinierte Schriftart im Code verwenden zu können, müssen wir sie mit ihrem Namen referenzieren, der Name stimmt jedoch häufig nicht mit dem Dateinamen der Schriftart überein
Es gibt zwei Möglichkeiten, den Namen zu finden:
- Installieren Sie die Schrift auf Ihrem Mac. Öffnen Sie das Font Book, öffnen Sie die Schriftart und sehen Sie Welcher Name ist aufgeführt.
- Listen Sie programmatisch die verfügbaren Schriftarten in Ihrer App auf
für den zweiten Ansatz fügen Sie diese Zeile als didFinishLaunchingWithOptions
Ihres App-Delegierten hinzu.
println(UIFont.familyNames())
So listen Sie die in jeder Schriftfamilie enthaltenen Schriftarten in Swift 2 auf:
class func printFonts() {
for familyName in UIFont.familyNames() {
print("\n-- \(familyName) \n")
for fontName in UIFont.fontNamesForFamilyName(familyName) {
print(fontName)
}
}
}
nachdem Sie den Namen Ihrer benutzerdefinierten Schriftart gefunden haben, können Sie ihn folgendermaßen verwenden:
SKLabelNode(fontNamed: "gameOver") // put here the correct font name
oder in einem einfachen Etikett:
cell.textLabel?.font = UIFont(name: "gameOver", size: 16) // put here the correct font name
Schnell 4
Erstellen Sie eine Klasse
import Foundation
import UIKit
private let familyName = "Montserrat"
enum AppFont: String {
case light = "Light"
case regular = "Regular"
case bold = "Bold"
func size(_ size: CGFloat) -> UIFont {
if let font = UIFont(name: fullFontName, size: size + 1.0) {
return font
}
fatalError("Font '\(fullFontName)' does not exist.")
}
fileprivate var fullFontName: String {
return rawValue.isEmpty ? familyName : familyName + "-" + rawValue
}
}
Benutzen
self.titleLabel?.font = AppFont.regular.size(12.0)
Zusammen mit der obigen Antwort möchte ich eine weitere Antwort hinzufügen, wenn Sie die benutzerdefinierten Schriftarten für Xcode installieren, die sowohl auf Mac als auch auf Mac zugreifen können.
1. Wählen Sie Ihre bevorzugten Schriftarten aus und laden Sie sie herunter
2. Unzip the download folder and select all the fonts from folder and double tap to open
3. Pop up appears to select all the fonts > check all and install
4. Open Xcode, one can see from Attribute inspector for selected label
Das ist alles :)
Achten Sie auf das angehängte Bild für weitere Informationen:
Font Lato erschien im Xcode-Arbeitsbereich