2012-06-17 16 views
28

Ciao, ho questo codice e non funziona, cosa sto facendo male?Cambia carattere in UITabBarItem

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

BTW che non è l'unica cosa nella mia viewDidLoad ma ho solo voluto mostrare voi ragazzi è dove l'ho messo.

+0

Puoi condividere quale versione di iOS ci si rivolge? Questa funzionalità è nuova per iOS 5. –

+0

@ctrahey Mi rivolgo a iOS 5. –

risposta

61

Secondo: How to change the Color of text in UITabBarItem in iOS 5

Sembra che la soluzione può essere l'invio del messaggio al proxy aspetto, invece di un elemento:

(Sconsigliata in iOS 7.0+)

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

Per iOS 7.0+ uso:

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

Non ha modificato nulla ... –

+4

modifica stato: UIControlStateNormal –

+3

Non menzionato esplicitamente qui. Puoi inserire questo codice nella funzione didFinishLaunchingWithOptions nel delegato dell'app per impostarlo per l'app –

7

modo Swift, per lazies:

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

Questo non cambia il carattere per me per lo stato '.selected'. – AbbasAngouti

+1

@AbbasAngouti per la modifica dello stato dei caratteri è stato selezionato è necessario utilizzare qualcosa di simile: https://stackoverflow.com/a/47529912/1980246 –

2

Swift 3

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