Je crée un jeu dans Xcode (version 7.0 Beta) avec Swift, et j'aimerais afficher le libellé "Game Over" à la fin du jeu dans la police de caractères "gameOver.ttf". J'ai ajouté la police à mon dossier de ressources. Je ne sais pas comment le référencer dans mon code. Puis-je s'il vous plaît obtenir de l'aide? Mon 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)
Voici les étapes à suivre pour ajouter une police personnalisée à votre application:
Désormais, la police sera disponible dans Interface Builder . Pour utiliser la police personnalisée dans le code, vous devez y faire référence par nom, mais le nom n’est souvent pas le même que le nom de fichier de la police.
Il y a 2 façons de trouver le nom:
- Installez la police sur votre Mac. Ouvrir le livre de polices, ouvrir la police et voir quel nom est répertorié.
- Liste par programme les polices disponibles dans votre application
pour la deuxième approche, ajoutez cette ligne à la variable didFinishLaunchingWithOptions
de votre délégué d’application
println(UIFont.familyNames())
Pour répertorier les polices incluses dans chaque famille de polices, dans Swift 2:
class func printFonts() {
for familyName in UIFont.familyNames() {
print("\n-- \(familyName) \n")
for fontName in UIFont.fontNamesForFamilyName(familyName) {
print(fontName)
}
}
}
après avoir trouvé le nom de votre police personnalisée, vous pouvez l’utiliser comme ceci:
SKLabelNode(fontNamed: "gameOver") // put here the correct font name
ou dans une simple étiquette:
cell.textLabel?.font = UIFont(name: "gameOver", size: 16) // put here the correct font name
Swift 4
Créer une classe
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
}
}
Utilisation
self.titleLabel?.font = AppFont.regular.size(12.0)
Parallèlement à la réponse ci-dessus, j'aimerais ajouter une autre réponse sur l'installation des polices personnalisées sur Xcode pouvant être un accès à la fois à Mac et à MAC.
1. Sélectionnez et téléchargez vos styles de police préférés à partir d'ici
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
C'est tout :)
Surveillez la photo ci-jointe pour plus de ref:
Font Lato est apparu dans l'espace de travail Xcode