BLOG

Acompanhe a Mobits pelo RSS

FILTROS

tags
data

Os U$10 mais bem gastos na minha vida :)

Desde o iOS 3.2, é possível incluir fontes customizadas no seu projeto. Entretanto, mesmo seguindo as instruções para incluir as fontes, elas não ficam disponíveis para você durante o tempo de design. Para utilizar as fontes você é obrigado a colocá-las via código nos seus componentes visuais para que sejam aplicadas em runtime. Ou era obrigado...

Sempre foi uma grande frustração não poder ver as fontes no Interface Builder e, consequentemente, não ter uma visão precisa de como seu layout vai ficar até mandar rodar o projeto.

Pesquisando muito na Internet, encontrei finalmente uma solução: MoarFonts.

MoarFonts é um pequeno executável que lê as fontes declaradas no seu projeto e as instala no XCode para que estejam disponíveis no Interface Builder.

Sua utilização é muito simples. Depois de seguir os passos normais para incluir as fontes no projeto, basta inserir um Run Script Build Phase (Editor → Add Build Phase → Add Run Script Build Phase), definir o shell como /bin/bash -e e colocar o comando:

mdfind -onlyin "${SRCROOT}" "kMDItemContentTypeTree == public.font" -0 | sort -z | xargs -0 /usr/local/bin/moarfonts install

O comando acima assume que você instalou o executável do MoarFonts em "/usr/local/bin/". Modifique o script acima caso tenha instalado em outro local.

Depois de definir o script acima, rode um build do seu projeto e reinicie o XCode. As fontes estarão disponíveis no seu Interface Build para usá-las como quiser.

Exemplo de uso de fonte customizada no Interface Builder com MoarFonts

Se você, assim como eu, já estiver em um projeto cheio de códigos e truques para conseguir usar suas fontes, abra um sorriso e aprecie a oportunidade de apagar toda essa inutilidade. :)

Ah, um detalhe: o MoarFonts custa 10 doletas. Uma pechincha, dada a quantidade de tempo que ele me economizou ;)

COMPARTILHE

DEIXE UM COMENTÁRIO

If you can read this, you don't use a typical webbrowser that plays nice with CSS.
Please do not fill in anything here!