Ich habe eine globale tintColor eingestellt, und ich kann sie im Interface Builder sehen, wenn ich UITabBar und UITabBarController auswähle. Wenn ich die Anwendung aktiviere, ist der Farbton des ausgewählten UITabBarItem iOS Standard (blau) und nicht was ich eingestellt habe. Was vermisse ich?
P.S. UITabBarController wird an navigationController übergeben, es ist nicht der rootViewController
Storyboard unterstützt das noch nicht direkt. Sie können jedoch ein benutzerdefiniertes Laufzeitattribut im Storyboard festlegen.
Wählen Sie die Registerkartenleiste des Registerkartencontrollers.
Wählen Sie den Identitätsprüfer. (Die Ansicht, in der Sie die Klasse einer Ansicht festlegen können.)
Wenn Sie stattdessen die Tönungsfarbe des ausgewählten Elements ändern möchten , verwenden Sie stattdessen den Schlüsselpfad selectedImageTintColor
.
Wenn Sie iOS 8 als Ziel haben,
selectedImageTintColor ist in iOS 8 veraltet, wenn Sie tintColor
verwenden
Schnell
%Vor%Ziel c
%Vor%In meiner Anwendung sollte jeder ViewController eine eindeutige TabBarItem-Farbe haben, wenn er angezeigt wird.
In iOS 8 funktionierte das manuelle Hinzufügen eines tintColor-Attributs im Storyboard gut, hat aber unter iOS 9 / Xcode 8 keine Wirkung mehr.
Ich löste das Problem, indem ich den folgenden Code in die untergeordneten ViewControllers meines TabBarControllers einfügte und dabei jede ihrer ViewDidAppear () - Funktionen überschrieb.
%Vor%Dies ist in jedem ViewController sicher, aufgrund der? nach dem Aufruf von tabBarController. Wenn der ViewController nicht in einen TabBarController eingebettet ist, wird die gesamte Zeile einfach ignoriert.
Indem Sie diesen Code in jede Ihrer VCs einfügen, können Sie die Farbe jedes TabBarItems leicht angeben.
Tags und Links objective-c ios uitabbar uitabbarcontroller