Swift 2.2 Wie ändere ich die Hintergrundfarbe des Tab-Controllers?

8

Ich habe versucht, den Hintergrund der Tab-Leiste zu ändern, und habe viele Posts hier in ObjC gelesen, von denen viele ziemlich alt sind. Aber ich habe keine für Swift gefunden, was ich verwende.

Ich habe schließlich herausgefunden, wie man es aus dem Code macht, also können die Tab-Bar-Farben mit jedem Farbwechsel geändert werden. Hier sind die Referenzen, die ich verwendet habe:

%Vor%

Ich habe diesen Code in den View-Controller für die erste Registerkarte eingefügt, die beim Start der App angezeigt wird, damit sie "zuerst" ausgeführt wird. Es funktioniert gut, soweit ich das beurteilen kann, auch wenn ich 8 Registerkarten habe und die Registerkarte Mehr ... benutze.

Und ich habe denselben Code mit Schaltflächen auf verschiedenen Registerkarten verknüpft, sodass ich die Farbe der Tab-Leiste von überall in meinem Code ändern kann.

Aber ich gestehe, dass ich als Neuling nicht sicher bin, ob das der beste Ort ist, um die Farbe der Tab-Leiste zu ändern. Wenn dies der falsche Ort ist, bitte korrigieren Sie mich.

Ich poste diesen Code hier, weil er mir ein paar Stunden erspart hätte, und ich hoffe, dass er jemand anderen (schnelle) Zeit retten kann.

    
Kevin 31.03.2016, 16:47
quelle

2 Antworten

18

Dies ist eine gute Möglichkeit, die Farbe von UITabBar zu ändern. Wenn Sie die Farbe nicht in jedem ViewController, der in Ihrem UITabBarController eingebettet ist, festlegen möchten, können Sie auch eine Unterklasse von UITabBarController erstellen und sie dort festlegen. Auf diese Weise wird unabhängig davon, welche Seite zuerst angezeigt wird, die Farbe festgelegt.

Um eine Unterklasse von UITabBarController zu erstellen, gehen Sie einfach zur Datei & gt; neu & gt; Datei & gt; Kakao-Touch-Klasse ... Dann richten Sie Ihre Datei wie in diesem Foto

Setzen Sie jetzt in Ihrem Storyboard die benutzerdefinierte Klasse auf Ihrem tabBarController

Schließlich haben Sie in Ihrer Datei MyTabBarController (oder wie auch immer Sie es genannt haben) erstellt:

%Vor%     
Jeff Lewis 31.03.2016, 18:14
quelle
1

Xcode 9

Storyboard

Es ist möglich, Hintergrundfarbe direkt im View-Controller zu setzen (derzeit in TabBarViewController), hierfür müssen Sie Key Path definieren. Vergessen Sie nicht, die Hintergrundfarbe in der verschachtelten Ansicht zu entfernen, da sie sonst die Hintergrundfarbe von superview überlappen würde.

    
dimpiax 10.02.2018 18:24
quelle