Estou desenvolvendo um jogo e gostaria de usar uma fonte personalizada em meu aplicativo. Estou usando o SpriteKit para isso, se isso for importante. Eu tentei usar este https://github.com/deni2s/IBCustomFonts, mas não consigo fazê-lo funcionar com esta fonte http://www.fontspace.com/freaky-fonts/emulogic
Já tentei várias coisas e registrei a fonte no info.plist do app ... Alguém sabe o que está acontecendo?
Respostas:
Em primeiro lugar, estou assumindo que o SpriteKit não faz nenhuma diferença.
Finalmente, você gostaria de listar todas as suas fontes quando o aplicativo for iniciado, apenas para ver o nome utilizável para a sua fonte. Você fará isso com este pequeno trecho de código:
Pesquise sua fonte nos resultados impressos, por exemplo, eu pesquisaria por "Josefin" e veria que o nome real da fonte é "JosefinSansStd-Light". Depois disso, você só precisa usar essa fonte:
No iOS8, você adiciona suas fontes diretamente ao projeto e elas ficam visíveis no construtor de interface. Modifique seu código para dar conta disso, mas definindo a fonte de maneira programática para iOS7 e selecionando-a no construtor de interface xCode6. PS. O construtor de interface no xCode6 fornece o nome da fonte correto que você pode copiar e colar no código abaixo.
Espero que isso ajude, gritos.
fonte
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)) }
Não há problema em usar fontes personalizadas, eu fiz isso. Siga esses passos:
E conselho, adicione esse nome como uma macro em seu arquivo ..Prefix.pch. Será mais fácil usá-lo em seu projeto se você tiver que usar a fonte várias vezes.
O problema que acho que você teve é que você registrou corretamente a fonte, mas ela não foi copiada para o pacote de aplicativos. Portanto, quando o aplicativo foi executado, ele não conseguiu encontrar a fonte. É por isso que a etapa 2 é importante. Passei muito tempo tentando descobrir isso da primeira vez :)
fonte
Para conseguir isso rapidamente
Se você gostaria de listar todas as suas fontes quando o aplicativo for iniciado, apenas para ver o nome utilizável para sua fonte. Você pode fazer isso com este pequeno trecho de código:
fonte
UIFont.familyNames.forEach { print("fontFamily: \($0), fonts: \(UIFont.fontNames(forFamilyName: $0))") }
Nunca consegui fazer essas respostas funcionarem, depois de tentar várias vezes. A única maneira que tenho uma fonte personalizada para seguir as instruções na resposta aceita, em seguida, criar um rótulo oculto no storyboard que usa a fonte. Posso usar a fonte de maneira programática. Estranho e hacky eu sei, mas funcionou para mim.
fonte
Se você estiver no Xcode 6, é tão fácil quanto parece. Basta adicionar uma
font
pasta ao seu projeto, adicionar sua (s) fonte (s) à pasta e pronto.fonte
Se nenhum dos métodos acima funcionou para você, E acontece de você usar sua fonte personalizada "programaticamente" apenas (ou seja, você não a usou em nenhum xib), então você precisará usá-la pelo menos uma vez em algum lugar em um xib, em qualquer lugar .
(PS Stuart Clark - já respondeu isso, então nenhum crédito para mim por favor. Porém, decidi reformular e postar como uma resposta separada, porque perdi a resposta dele, não ficou claro para mim quando li. descobri essa solução por acaso quando estava testando a fonte personalizada em um xib e vi que funcionava de forma programática em outro lugar, mas quando removi a fonte do xib, ela parou de funcionar de maneira programática.)
fonte
Atualizado para Swift 3.
fonte
Talvez uma solução rápida - isso funcionou para mim quando a fonte já funcionava, mas um novo rótulo, por exemplo, não mostrava a fonte desejada:
pasta de dados derivados limpa, profundamente limpa e vazia.
fonte
fonte