3 Stimmen

Einige UI-Elemente erhalten keine UIAppearance-Eigenschaften

Ich versuche zu verwenden UIAppearance um ein einheitliches Farbthema in meiner iOS-App zu erhalten. Ich versuche zum Beispiel, die Textfarbe für alle UILabel Objekte wie folgt:

[[UILabel appearance] setTextColor:[UIColor colorWithRed:0.7 green:0.07 blue:0.12 alpha:1]];

Dies funktioniert bei allen statisch definierten Objekten in meinem Storyboard/XIBs problemlos. Manchmal muss ich jedoch ein UILabel in einer Ansicht dynamisch erstellen. In diesen Fällen wird das UIAppearance nicht verwendet. Stattdessen wird die Standardtextfarbe (schwarz) verwendet.

Hat jemand in dieses Problem laufen / einen Weg gefunden, um es anders als Rückgriff auf die alte "setzen jedes Element manuell" Ansatz?

3voto

PakitoV Punkte 2424

Es scheint, dass nicht alle Klassen UIAppearance unterstützen und UILabel ist nicht eine davon.

In dieser Frage finden Sie weitere Informationen: UIAppearance wird bei programmatisch erstellten UILabels nicht wirksam

Hier ist eine Liste von Klassen, die UIAppearance unterstützen: http://blog.mosheberman.com/list-of-classes-that-support-uiappearance-in-ios-5/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X