2010-12-21 16 views
9

Agregué un archivo de fuente (.ttf) a mi proyecto de Xcode, a los recursos. Además, lo agregué a UIAppFonts en mi info.plist.ttf font no disponible para iPhone en el constructor de interfaz o simulador

Cuando quiero usar esta fuente, ni siquiera la veo como una opción en IB.

Después de instalar la fuente en mi sistema, comencé a verla en IB, pero aun así, cambiarla no cambia nada, algunas fuentes del sistema predeterminadas se muestran en el Constructor de interfaces y en el emulador de iPhone.

¿Hay algún paso más que debo hacer para poder usar mi propia fuente?

Respuesta

17

Para usar fuentes personalizadas con iOS, debe configurarlas programáticamente.

Por ejemplo, supongamos que tiene un archivo de fuente llamado swellfont.ttf que agrega a su proyecto. A continuación, ingrese en su archivo App-Info.plist y agregue el nombre completo del archivo al siguiente índice de la matriz codificada por UIAppFonts, como usted menciona.

<key>UIAppFonts</key> 
<array> 
    <string>swellfont.ttf</string> 
</array> 

A continuación, para utilizar la fuente:

label.font = [UIFont fontWithName:@"swellfont" size:12]; 

Asumiendo que la etiqueta es un UILabel y que swellfont.ttf no es protected. Es importante tener en cuenta que fontWithName de UIFont no se refiere al nombre del archivo, sino que desea el nombre real de la fuente. Si abre la fuente con FontForge, puede ver esta información seleccionando Elemento> Información de fuente en la barra de menú. Probablemente haya formas más inteligentes de encontrar esta información.

+7

Cabe señalar que el argumento de cadena no debe ser el nombre de la fuente del nombre de archivo para el archivo de fuente (que puede o no puede ser el mismo). Esa distinción me hizo girar las ruedas por un tiempo. – cesarislaw

+0

sí - Estaba agregando esa información como usted comentó. También me dio bastante problema. ¡Algo confuso! Apple está jugando rápido con la definición de "nombre". :) – Allyn

+0

¡Gracias por este consejo! Me ayudo mucho. – kender

0

Utilizo 2 fuentes en una APLICACIÓN. El primero se agregó automáticamente a "Recursos del paquete de copia", el otro no. Tuve que agregarlo yo mismo.

de llamada en código:

[labelName setFont:[UIFont fontWithName:@"OneGreatBigFont" size:40]]; 
Cuestiones relacionadas