Ich habe eine Tab-Bar-Anwendung erstellt. Ich habe vier Tabs; Auf der ausgewählten Registerkarte muss ich die Farbe rot für den Tab-Titel festlegen. Wie kann ich das tun?
Vielen Dank im Voraus.
Wenn ich Ihre Frage richtig verstanden habe, möchten Sie die Farbe des Textes in UITabBarItem
s anpassen. Leider ist es nicht so flexibel. Wenn du das vorhast (wenn du das Design nicht mit der Hilfe eines Experten durchdacht hast, empfehle ich dagegen!), Musst du einige wirklich beängstigende Dinge tun, um das zum Laufen zu bringen. p>
Ich würde vorschlagen, die Teilansichten von UITabBar
(so viele Ebenen wie nötig) zu durchlaufen und nach UILabel
-Objekten zu suchen. Wenn Sie einige finden, können Sie ihre Farbe ändern. Wenn nicht, bedeutet dies, dass es anders implementiert ist (wahrscheinlich in einer -drawRect:
-Methode irgendwo); Wenn dies der Fall ist, sollten Sie wirklich aufgeben.
Viel Glück auf was auch immer Sie sich entscheiden.
Mit dem UIAppearance-Protokoll (iOS5 +) ist dies nun möglich und eigentlich ziemlich einfach.
%Vor%Bitte entschuldigen Sie die schrecklichen Farben!
Nur um die Dinge ein wenig aufzuklären ...
Wenn Sie die Darstellung für alle Registerkartenelemente ändern möchten, verwenden Sie:
Ziel-C :
%Vor%Schnell :
%Vor%Allerdings , wenn Sie nur das Aussehen eines einzelnen Elements festlegen möchten, tun Sie das so:
Ziel-C :
%Vor%Schnell :
%Vor% Hinweis : tabBarItem
ist eine Eigenschaft in UIViewController
. Das bedeutet, dass jede UIViewController
diese Eigenschaft hat, aber nicht die tabBarItem
, nach der Sie suchen. Dies ist häufig der Fall, wenn Ihr View-Controller in einem UINavigationController
eingeschlossen ist. In diesem Fall greifen Sie auf den tabBarItem
auf dem Navigations-Controller zu, nicht auf den im root (oder anderen) View-Controller.
Das ist möglich durch -drawRect:
, aber dadurch erhöht sich die Wahrscheinlichkeit, dass Ihre App vom App Store abgelehnt wird