ios - tipografias - fuentes para iphone gratis
Fuente personalizada en ios no funciona (11)
Quiero usar HelveticaNeue-UltraLight en mi aplicación ios. Estoy agregando el archivo de fuente como un recurso para mi proyecto y agregando la clave "Fuentes proporcionadas por la aplicación" en el archivo plist. El nombre del archivo es HelveticaNeue.dfont y lo he agregado a la matriz de claves.
Cuando reviso las fuentes disponibles, puedo verlo ahora ...
NSArray *fonts = [UIFont fontNamesForFamilyName:@"Helvetica Neue"];
for(NSString *string in fonts){
NSLog(@"%@", string);
}
1-07-08 17:32:57.866 myApp[5159:207] HelveticaNeue-Bold
2011-07-08 17:32:57.866 myApp[5159:207] HelveticaNeue-CondensedBlack
2011-07-08 17:32:57.867 myApp[5159:207] HelveticaNeue-Medium
2011-07-08 17:32:57.867 myApp[5159:207] HelveticaNeue
2011-07-08 17:32:57.868 myApp[5159:207] HelveticaNeue-Light
2011-07-08 17:32:57.868 myApp[5159:207] HelveticaNeue-CondensedBold
2011-07-08 17:32:57.868 myApp[5159:207] HelveticaNeue-LightItalic
2011-07-08 17:32:57.869 myApp[5159:207] HelveticaNeue-UltraLightItalic
2011-07-08 17:32:57.869 myApp[5159:207] HelveticaNeue-UltraLight // HERE IT IS!
2011-07-08 17:32:57.869 myApp[5159:207] HelveticaNeue-BoldItalic
2011-07-08 17:32:57.870 myApp[5159:207] HelveticaNeue-Italic
Pero cuando trato de obtenerlo con [UIFont fontWithName: @ "HelveticaNeue-UltraLight" tamaño: 12] Acabo de recibir HelveticaNeue-Light ..
No recibo errores ni advertencias. ¡Ayuda por favor!
Abra la aplicación de libro de fuentes. Si instaló las fuentes usted mismo, vaya al usuario, busque las fuentes que desee y use el nombre PostScript de la fuente en su proyecto xcode.
Debería funcionar incluso para diferentes variaciones de fuente de la misma familia.
Creo que estás teniendo el mismo problema que tuve: hay un error en iOS donde no puede usar más de 2 fuentes de la misma familia.
Consulte la publicación del blog aquí para obtener más información y una solución: http://www.pixeldock.com/blog/uifont-problem-when-using-more-than-2-custom-fonts-of-the-same-font-family/
Después de pasar horas, llegué a saber que el nombre para la fuente que necesitamos agregar no es el nombre de archivo de la fuente, sino el nombre real de la fuente. Estaba tratando de incluir el archivo de fuente bonveno.ttf . He incluido el nombre de archivo junto con la extensión en info.plist y pude ver la fuente en la lista de Recursos de Copiar Paquete . Mi código era como
self.label.font = [UIFont fontWithName:@"bonveno" size:30];
eso estaba causando el problema Luego hice doble clic en el archivo de fuente desde Finder para ver la vista previa de la fuente. Esa vez noté el nombre de la fuente en la ventana de vista previa como BonvenoCF . Así que agregué ese nombre en el código como
self.label.font = [UIFont fontWithName:@"BonvenoCF" size:30];
Funcionó como el encanto! No puedo vivir sin esta linda fuente en mis aplicaciones.
Está trabajando con diferentes variaciones de la misma fuente (incluso en IOS 8). Voy a publicar mi error solo en caso de que alguien tenga el mismo problema ... Estaba usando el nombre del archivo de la fuente en lugar del nombre de la fuente. Una solución útil es imprimir todas las fuentes disponibles y buscar la que estaba usando. En Swift sería:
for fontFamilyNames in UIFont.familyNames() {
for fontName in UIFont.fontNamesForFamilyName(fontFamilyNames) {
print("FONTNAME:/(fontName)")
}
}
Encontré este útil tutorial en: Código con Chris
No solo se debe agregar el archivo al proyecto, sino que también se debe agregar al objetivo.
A veces (como en mi caso), al arrastrar y soltar el archivo ".ttf" en Xcode, el "agregar al destino" no está marcado. Esto significa que el archivo es realmente visible en su proyecto, pero no está incorporado en la aplicación.
Para asegurarse de que sea:
- Haga clic en el nombre del proyecto (panel izquierdo)
- Luego en el objetivo (panel central)
- Luego, "Build Phases" (tercera pestaña en el panel derecho)
- Luego, "Copiar recursos del paquete"
Debería ver el archivo de fuente en esa lista.
Para usar fuentes personalizadas en iOS, simplemente agrega tus fuentes arrastrando y soltando en tu proyecto. Mencione la matriz de nombres de fuentes con extensión en Info.plist con la clave "Fuentes proporcionadas por la aplicación". Luego imprima todos los nombres de las familias de fuentes usando el siguiente código:
for (NSString* family in [UIFont familyNames])
{
DebugLog(@"FONT FAMILY: %@", family);
for (NSString *name in [UIFont fontNamesForFamilyName: family])
{
DebugLog(@" %@", name);
}
}
Impresión de consola:
Arial hebreo ArialHebrew-Bold ArialHebrew-Light ArialHebrew
Calibri Calibri-Bold Calibri
Georgia Georgia-BoldItalic Georgia-Bold Georgia-Italic Georgia
Luego, desde la consola, obtendrá los nombres de las fuentes reales (como se indica arriba). Use el código siguiente para crear la fuente -
En el texto central:
CTFontRef fontRef = CTFontCreateWithName((CFStringRef)fontName, fontSize, NULL);
En UIKit:
UIFont *font = [UIFont fontWithName:fontName size:10];
Nota: aquí fontName = @ "Calibri-Bold" no tiene extensión.
Prueba con espacios:
[UIFont fontWithName:@"Helvetica Neue UltraLight" size:12];
Prueba esto, esto también será útil para ti.
[compete_Label setFont:[UIFont fontWithName:@"Helvetica-Bold" size:12]];
Si bien esto probablemente no ayudará al PO, podría ser útil para otros.
Con iOS 5, Helvetica Neue
se incluye automáticamente; no tiene que agregar esta fuente personalizada al paquete. Incluso es posible usar esa familia de fuentes directamente desde Interface Builder, que es extremadamente útil.
Terminé comprando la fuente Helvetica Neue UltraLight de un tercero y la agregué sin problemas.
después de agregar el archivo de fuente en la propiedad "Fuente proporcionada por la aplicación" del paquete, haga clic en la flecha desplegable e ingrese el nombre de la fuente con la extensión