2012-06-17 20 views
28

Hola, tengo este código y no funciona, ¿qué estoy haciendo mal?Cambiar fuente en UITabBarItem

- (void)viewDidLoad 
{  
    [self.tabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"AmericanTypewriter" size:20.0f], UITextAttributeFont, nil] forState:UIControlStateDisabled]; 
} 

Por cierto que no es la única cosa en mi viewDidLoad pero yo sólo quería mostrar chicos que es donde lo puse.

+0

¿Puede compartir la versión de IOS que se dirigen? Esta característica es nueva en iOS 5. –

+0

@ctrahey Me estoy dirigiendo a iOS 5. –

Respuesta

61

Según: How to change the Color of text in UITabBarItem in iOS 5

Parece que la solución puede estar enviando el mensaje al proxy apariencia, en lugar de un elemento:

(en desuso en iOS 7.0+)

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"AmericanTypewriter" size:20.0f], UITextAttributeFont, nil] forState:UIControlStateNormal]; 

Para iOS 7.0+ uso:

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"AmericanTypewriter" size:20.0f], NSFontAttributeName, nil] forState:UIControlStateNormal]; 
+0

No cambió nada ... –

+4

cambio de estado: UIControlStateNormal –

+3

No se menciona explícitamente aquí. Puede poner este código en la función didFinishLaunchingWithOptions en el delegado de la aplicación para configurarlo para la aplicación –

7

manera Swift, por lazies:

UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont.systemFontOfSize(10)], forState: .normal) 
UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont.systemFontOfSize(10)], forState: .selected) 
+2

Esto no cambia la fuente para mí para el estado '.selected'. – AbbasAngouti

+1

@AbbasAngouti para cambiar la fuente está seleccionado, debería usar algo como esto: https://stackoverflow.com/a/47529912/1980246 –

2

Swift 3

UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont(name: "OpenSans", size: 10)!], for: .normal) 
Cuestiones relacionadas