2011-05-24 21 views
7

Tengo una aplicación donde estoy fijando el tipo de letra para un UILabel programación de la siguiente maneraEl uso de una fuente personalizada con texto en negrita en un UILabel

[label setFont:[UIFont fontWithName:fontName size:[fontSize intValue]]]; 

que fontName es una variable de tipo cadena que mantenga nombre de la fuente, tales como " Helvetica " y fontSize contendrá el tamaño de la fuente. Esto funciona bien para mi. Ahora quiero hacer que este texto sea "Audaz", ¿cómo puedo hacer eso?

boldSystemFontOfSize 

funciona para la fuente del sistema. ¿Cómo puedo lograr lo mismo para las fuentes definidas por el usuario?

Gracias.

+0

, noto algunas cosas al usar fuentes personalizadas. Tengo un archivo llamado 'MavenPro-Bold.ttf', pero el nombre de la fuente que uso para que funcione tiene que ser' MavenProBold'. –

Respuesta

11

Pruebe usar @"Helvetica-Bold" como fontName.

+0

Esto parece ser un enfoque simple. Gracias. –

+2

no funciona para ttf personalizado – OMGPOP

3

intento,

fontName = @"myFavouriteFont-Bold"; 
[label setFont:[UIFont fontWithName:fontName size:[fontSize intValue]]]; 

Al utilizar el método fontWithName:size:, se puede establecer el nombre de la fuente con estilo. Doc dice que fontName es el nombre completo de la fuente y este nombre incorpora tanto el nombre de la familia de la fuente como la información del estilo específico de la fuente.

4

Prueba de esto,

NSArray *arr = [UIFont fontNamesForFamilyName:@"myFavoriteFont"]; 
NSString *fontName = [arr objectAtIndex:0]; //or [arr objectAtIndex:1], it depends 
[label setFont:[UIFont fontWithName:fontName size:[fontSize intValue]]]; 
+0

Esto funcionó para mí: descargué una fuente de fuentes Web de Google y no pude encontrar el nombre en negrita. Imprimí cada una en el ciclo y encontré el nombre correcto. for (NSString * fontname in arr) {NSLog (@ "fontname:% @", fontname); } UIFont * font = [UIFont fontwithname: @ "[insertar nombre]"]; –

Cuestiones relacionadas