Je développe un jeu et j'aimerais utiliser une police personnalisée dans mon application. J'utilise SpriteKit pour cela, si c'est important. J'ai essayé d'utiliser cette https://github.com/deni2s/IBCustomFonts mais je ne parviens pas à la faire fonctionner avec cette police http://www.fontspace.com/freaky-fonts/emulogic
J'ai essayé diverses choses, et j'ai enregistré la police sur le fichier info.plist de l'application ... Est-ce que quelqu'un sait ce qui se passe?
Réponses:
Tout d'abord, je suppose que SpriteKit ne fait aucune différence.
Enfin, vous souhaitez répertorier toutes vos polices lorsque l'application démarre, juste pour voir le nom utilisable pour votre police. Vous ferez cela avec ce petit morceau de code:
Recherchez votre police dans les résultats imprimés, par exemple, je rechercherais "Josefin" et je verrais que le nom de police réel est "JosefinSansStd-Light". Après cela, vous ne devez utiliser cette police que par:
Dans iOS8, vous ajoutez vos polices directement au projet et elles sont visibles dans le générateur d'interface. Modifiez votre code pour tenir compte de cela, mais définissez la police par programme pour iOS7 et sélectionnez-la dans le générateur d'interface xCode6. PS. Le générateur d'interface dans xCode6 vous donne le nom de police correct que vous pouvez copier-coller dans le code ci-dessous.
J'espère que cela aide, applaudissements.
la source
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)) }
Aucun problème pour utiliser des polices personnalisées, je l'ai fait. Suivez ces étapes:
Et conseil, ajoutez ce nom en tant que macro dans votre fichier ..Prefix.pch. Il sera plus facile de l'utiliser dans votre projet si vous devez utiliser la police plusieurs fois.
Le problème que je pense que vous avez eu est que vous avez correctement enregistré la police mais qu'elle n'a pas été copiée dans le bundle d'applications. Ainsi, lorsque l'application s'est exécutée, elle n'a pas pu trouver la police. C'est pourquoi l'étape 2 est importante. J'ai passé beaucoup de temps à essayer de comprendre cela la première fois :)
la source
Pour y parvenir rapidement
Si vous souhaitez répertorier toutes vos polices au démarrage de l'application, simplement pour voir le nom utilisable pour votre police. Vous pouvez le faire avec ce petit morceau de code:
la source
UIFont.familyNames.forEach { print("fontFamily: \($0), fonts: \(UIFont.fontNames(forFamilyName: $0))") }
Je n'ai jamais été en mesure de faire fonctionner ces réponses après avoir essayé plusieurs fois. La seule façon pour moi d'avoir une police personnalisée pour suivre les instructions de la réponse acceptée, puis créer une étiquette cachée dans le storyboard qui utilise la police. Le Je peux utiliser la police par programme. Bizarre et hacky je sais mais ça a marché pour moi.
la source
Si vous êtes dans Xcode 6, c'est aussi simple que possible. Ajoutez simplement un
font
dossier à votre projet, ajoutez vos polices dans le dossier et vous êtes prêt à partir.la source
Si aucune des méthodes ci-dessus n'a fonctionné pour vous, ET que vous n'utilisez votre police personnalisée que "par programme" (c'est-à-dire que vous ne l'avez utilisée dans aucun xib), vous devrez l'utiliser au moins une fois quelque part dans un xib, n'importe où .
(PS Stuart Clark - a déjà répondu à cela, donc aucun crédit pour moi s'il vous plaît. Cependant, j'ai décidé de reformuler et de l'afficher comme une réponse distincte, parce que j'ai manqué sa réponse, ce n'était pas clair pour moi quand je l'ai lu. J'ai trouvé cette solution par hasard lorsque je testais la police personnalisée dans un xib, et j'ai vu que cela fonctionnait ailleurs par programme, mais lorsque j'ai supprimé la police du xib, elle a cessé de fonctionner par programme.)
la source
Mis à jour pour Swift 3.
la source
Peut-être une solution rapide - cela l'a fait pour moi lorsque la police a déjà fonctionné, mais une nouvelle étiquette par exemple n'a pas montré la police souhaitée:
dossier de données dérivé propre, nettoyé en profondeur et vide.
la source
la source