2012-06-10 5 views
19

In meiner AppDelegate Implementierungsdatei verwende ich diese Zeilen Code benutzerdefinierte Schriftarten und Farben tabBarItems zu setzen:UITabBarItem-Darstellung -setTitleTextAttributes protokolliert "state = 1 wird als UIControlStateHighlighted" interpretiert?

[[UITabBarItem appearance] setTitleTextAttributes: 
[NSDictionary dictionaryWithObjectsAndKeys: 
[UIColor grayColor], UITextAttributeTextColor, 
[UIFont fontWithName:@"Arial" size:0.0], UITextAttributeFont, 
nil] forState:UIControlStateNormal]; 

[[UITabBarItem appearance] setTitleTextAttributes: 
[NSDictionary dictionaryWithObjectsAndKeys: 
[UIColor whiteColor], UITextAttributeTextColor, 
[UIFont fontWithName:@"Arial" size:0.0], UITextAttributeFont, 
nil] forState:UIControlStateHighlighted]; 

Für einig (unbekannt) Grund der folgenden Meldungen protokolliert werden, eine für jedes tabBarItem:

button text attributes only respected for UIControlStateNormal, UIControlStateHighlighted and UIControlStateDisabled. state = 1 is interpreted as UIControlStateHighlighted. 

Konnte nichts mit den Standard-Suchmaschinen finden, also suche ich Ihre Hilfe. Was mache ich falsch und wie behebe ich das?

Vielen Dank im Voraus für Anregungen.

+0

Mine hat auch das gleiche Problem. Ich denke, wir ignorieren es einfach. Aber es ist wirklich nervig, wenn Sie andere Nachrichten in der Konsole sehen müssen. Sie können diesen Thread sehen: http://www.iphonedevsdk.com/forum/iphone-sdk-development/105017-uitabbaritem-logging-state-1-interpreted-ucontrolstatehighlighted.html –

+5

Durch das Lesen von Camille's Antwort ersetze ich "UIControlStateHighlighted" mit "UIControlStateSelected" und die Nachricht ist weg. Es sieht anders aus als Camille's Antwort, aber mein Fall ist für "UITabBarItem", während Camille's für "UIBarButtonItem" ist. –

+1

Wayne Liu, sollten Sie dies als Antwort imho. Es sieht so aus, als ob die Konsolenwarnung wirklich irreführend ist. Für die 'titleTextAttributes' auf einer UITabBar scheinen die akzeptierten Zustände' UIControlStateNormal', 'UIControlStateSelected' und' UIControlStateDisabled' zu sein. Aber nicht "UIControlStateHighlighted", wie die Warnung suggeriert. – Lukas

Antwort

5

Ich hatte das gleiche Problem, da war ich mit:

[[UIBarButtonItem appearance] setTitleTextAttributes: 
[NSDictionary dictionaryWithObjectsAndKeys: 
    [UIColor whiteColor], UITextAttributeTextColor, nil] forState:UIControlStateHighlighted]; 

... und das Problem ging weg:

[[UIBarButtonItem appearance] setTitleTextAttributes: 
[NSDictionary dictionaryWithObjectsAndKeys: 
    [UIColor whiteColor], UITextAttributeTextColor, nil] forState:UIControlStateSelected]; 

ich es geändert. Hoffe das hilft!

52

Ändern Sie einfach "UIControlStateHighlighted" in "UIControlStateSelected". Hoffe das hilft!

+0

böse (: ... arbeitete für mich. – Ans

+1

funktioniert. Es ist wie sie machen den gleichen Job, warum Apple dann beide hält? – thedp

Verwandte Themen