2012-02-14 39 views
5

He añadido fuentes personalizadas a mis recursos y a los recursos del paquete y también a mi lista. Todo funciona bien en iOS5, pero cuando pruebo el simulador iOS 4.3, ninguna de las fuentes personalizadas funciona.iOS 5 Custom Fonts

¿Alguna idea de por qué?

Este es un ejemplo de cómo estoy con el acceso a las fuentes:

lblWait.font = [UIFont fontWithName:@"AvenirNextLTPro-Medium" size:22]; 
+0

¿Puede mostrarnos la lista exacta de valores que tiene en su lista bajo 'Fuentes proporcionadas por la aplicación'? – warrenm

Respuesta

24

Los nombres en ese NSString en el primer parámetro tiene que ser perfecto, y lo raro es que no es consistente. Depende de si es un archivo .otf o un archivo .ttf. Descubrí que un archivo .otf usa el nombre de postscript y .ttf utiliza el nombre completo. Una buena forma de encontrarlos es abrir el archivo de fuente en el Libro de fuentes y encontrar su información (cmd-I). Yo trataría de ver qué pega.

enter image description here

Editar:

No siempre que la TTF utiliza el FULLNAME y la OTF utiliza el nombre PostScript, debe tratar ambos.

+1

Esta es una buena respuesta. Logré que esta fuente en particular funcionara en el simulador iOS 5.1, el simulador iOS 4.3 y un iPhone con iOS 4.1. El archivo OTF se llamaba 'AvenirNextLTPro-Medium.otf' y tenía un nombre PostScript interno de' AvenirNextLTPro-Medium'. – warrenm

+0

warrenm, sí, eso funcionará, pero la fuente se ve muy diferente cuando se cambia entre ios4.3 e ios5. Todavía estoy teniendo problemas aquí. Nada es consistente. Cuando uso el Nombre completo, establecer cualquiera de los tamaños de fuente ¡no hace nada! Cuando uso el nombre del postscript, los tamaños de letra funcionan, la fuente funciona en ios5, pero la fuente no funciona en nada bajo ios5, que era mi problema original. – Jesse

+0

http://stackoverflow.com/questions/7980812/objective-c-ios5-font-rendering-has-changed – Jesse

9

Muchas veces el origen de este problema es que el archivo de fuente se agrega al proyecto pero no al destino.

Haga clic en la fuente y asegúrese de que esté marcada en "Membresía de destino", en la columna de la derecha.