UIBarButtonItem setEnabled in iOS 7.1

39 views
Skip to first unread message

M.R.

unread,
Apr 2, 2014, 10:12:19 AM4/2/14
to cocoah...@googlegroups.com
Hallo,

mir ist aufgefallen, dass sich ein UIBarButtonItem in iOS 7.1 anders verhält als in iOS 7.0.

Siehe Beispielbild den "Edit" BarButton -> Unter iOS 7.0  bewirkt ein "setEnabled:NO" eine graue Schrift, mit "setEnabled:YES" ist wieder die originäre tintColor zu sehen.

Unter iOS 7.1 allerdings bleibt die Schriftfarbe dieselbe, egal, ob man "setEnabled:YES" oder "setEnabled:NO" setzt.... 

Warum?  Ist das ein Bug in iOS 7.1 ?  Und wie tät ein Workaround aussehen ?

Viele Grüße

Mario



ios70.png

Jens Kohl

unread,
Apr 2, 2014, 10:36:46 AM4/2/14
to cocoah...@googlegroups.com
Wie »tät«? :)

Keine Ahnung ob Bug oder nicht, aber wenn du es auf setEnabled:NO setzt, kannst du sicher auch noch die tintColor ändern. Könntest auch setEnabled einfach überschreiben in ner eigenen Subklasse, wenn du das öfter brauchst.

Ist nicht schön, dürfte wohl aber funktionieren.

SG,
 Jens

M.R.

unread,
Apr 2, 2014, 11:14:33 AM4/2/14
to cocoah...@googlegroups.com
Merci !

Das hat leider nicht geklappt. Vielleicht sollte ich bei jedem Wechsel des Enabled-Status den UIBarbuttonItem neu erzeugen? 

vg Mario





--
Sie erhalten diese Nachricht, weil Sie in Google Groups E-Mails von der Gruppe "Cocoaheads Hamburg" abonniert haben.
Wenn Sie sich von dieser Gruppe abmelden und keine E-Mails mehr von dieser Gruppe erhalten möchten, senden Sie eine E-Mail an cocoaheads-h...@googlegroups.com.
Wenn Sie in dieser Gruppe einen Beitrag posten möchten, senden Sie eine E-Mail an cocoah...@googlegroups.com.
Gruppe besuchen: http://groups.google.com/group/cocoaheads-hh
Weitere Optionen finden Sie unter https://groups.google.com/d/optout.

Renate Wünschl

unread,
Apr 2, 2014, 2:50:19 PM4/2/14
to cocoah...@googlegroups.com
Hi Mario,

komm doch einfach morgen zum Treffen und bring dein Labtop mit.

Lg Renate

Von meinem iPhone gesendet

M.R.

unread,
Apr 3, 2014, 8:51:45 AM4/3/14
to cocoah...@googlegroups.com
Hi,

Lösung gefunden:


[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor greenColor], NSForegroundColorAttributeName,nil] forState:UIControlStateNormal];

[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor grayColor], NSForegroundColorAttributeName,nil] forState:UIControlStateDisabled];

musste ich rauswerfen. Dann ging es :)

vg Mario

Reply all
Reply to author
Forward
0 new messages