Ich habe gelernt, dass in iOS 5 Eigenschaften, die mit UI_APPEARANCE_SELECTOR markiert sind, mit Aussehen gestylt werden können. ZB [[UINavigationBar Aussehen] setTintColor: ....]. Ich scheine jedoch nicht in der Lage zu sein, alle Elemente zu stylen. UIButton zum Beispiel hat keine Eigenschaften, die mit UI_APPEARANCE_SELECTOR gekennzeichnet sind, daher kann ich die obige Technik nicht verwenden, um sie zu stylen.So stylen Sie Elemente global, die Aussehen nicht unterstützt
Meine Frage ist: Wie kann ich Elemente global am besten (alle Erscheinungen in der Anwendung), wenn ich Aussehen nicht verwenden kann?
Im Moment habe ich einige Farben, Schriftarten, Schattenkorrekturen usw. definiert, die ich an vielen verschiedenen Stellen in meinem Code verwende. Dies erlaubt mir, Aussehen und Verhalten vieler Elemente zu ändern, aber es erlaubt mir immer noch nicht, alle Instanzen eines bestimmten Objekts mit nur einer Codezeile zu stylen.
bearbeiten
In Mangel an besseren Lösungen habe ich eine Reihe von categories mit einfachen Methoden wie folgt erstellt haben:
+ (UIButton *)customLabelWithFrame:(CGRect)frame andText:(NSString *)text;
Auch fand ich, dass - in Kombination mit den beschriebenen Kategorien - stretchable images sind nett und nützlich.
Mit dem oben ich in einer global-ish Weise Stil der Lage bin, aber ich bin mit dem Ergebnis nicht zufrieden und ich hoffe immer noch eine bessere Lösung
Ich habe festgestellt, dass einige Dinge, die nicht mit UI_APPEARANCE_SELECTOR markiert sind, jedoch mit UIAppearance funktionieren ... z. B. einige UIView-Eigenschaften. Ich werde das nicht als eine gute Antwort vorschlagen, weil es mit jeder Veröffentlichung brechen könnte, aber ich habe Fälle in diesem Fall gefunden, in denen die Logik über die Dokumentation triumphiert. –
Interessant. Aber ich stimme zu, dass es vielleicht nicht der beste Weg ist, dies zu tun. –