sábado, 23 de junio de 2012

Como usar fuentes personalizadas en tus apps

Algo muy útil y sencillo para la personalización del look&feel de tus apps es las fuentes que utilices. A partir de iOS 4 es muy sencillo, esto es lo que mostraremos a continuación.



  • Descarga el archivo .tff  de la fuente, el servicio de Google Web Fonts tiene gran variedad y también optimizados para la web. Para este ejemplo he descargado Questrial-Regular.ttf.

  • El archivo de la fuente debes copiarlo en tu carpeta de recursos dentro de Xcode. Un drag and drop bastará para incluirlo.

  • Luego debes incluirle este recurso en la info.plist de la aplicación (e.g. NombreDeTuApp-Info.plist) Para ello debes agregar una nueva fila, y luego buscar el tipo Fonts provided by application. Escoger que es de tipo Array y agregar un item (de tipo String) por cada tipo de fuente que se quiera agregar en la aplicación. En el campo Value se colocara el nombre de la fuente incluyendo el tipo de archivo, en nuestro caso Questrial-Regular.ttf.


  • Por ultimo en cualquier objeto tipo UITextView o UILabel, podrás llamar la fuente con el siguiente codigo ejemplo: 

[campoFuente_lbl setFont:[UIFont fontWithName:@"Questrial-Regular" size:70]]; 

Se puede ver que en la instrucción anterior no se incluye el tipo del archivo .ttf. Este tipo de llamadas las hice en el método viewDidLoad(). Y listo !

Aqui una comparación entre la fuente System del Xcode y luego con las fuentes personalizadas al ejecutar el código.




Espero les sea de ayuda.








2 comentarios:

  1. Una pregunta, tenes idea como hacer para que te aparezca dentro de las posibles a usar en el storyboard? Porque si bien la puedo usar por código no la puedo seleccionar desde el XCode.
    Muchas gracias

    ResponderEliminar
  2. Hola. El uso de Storyboards como que no ha sido adoptado todavía por los expertos a los que pregunté. Aquí puedes leer la respuesta de un problema similar en el que dicen que por un bug de Xcode, no es posible.

    http://stackoverflow.com/questions/9090745/custom-font-in-a-storyboard

    http://stackoverflow.com/questions/3398693/fonts-not-displaying-in-interface-builder

    Hasta ahora no puedo responderte esa pregunta, si luego la consigo te respondo y espero viceversa!

    Saludos

    ResponderEliminar