2016-07-13 3 views
1

Ich versuche, die Tab-Leiste so einzustellen, dass auf jedem View-Controller ein anderes Hintergrundbild erscheint.Anpassung der UITabBar.Arbeit in jedem View Controller [Swift]

class CharacterVC: UIViewController { 

var tabBarApparence = UITabBar.appearance() 

override func viewDidLoad() { 
    super.viewDidLoad() 

    tabBarApparence.backgroundImage = UIImage(named: "BlueTB") //Loaded from Image Asset 
} 

Dies funktioniert gut und ändert es in dieser Ansicht zu blau, aber wenn ich in der nächsten Ansicht gehe es die blaue Farbe bleibt und die rote Farbe nicht, die ich mit diesem Code programmiert ändern:

Ich habe eine zusätzliche 2 View-Controller, sollte man die grüne Version des Bildes und die andere die lila Version des Bildes anzeigen.

Irgendwelche Vorschläge, die das beheben könnten?

Antwort

2

Wenn Sie Aussehen TabBar in einem View-Controller ändern wollen, ist sehr einfach. Sie können dies in der Funktion viewDidLoad oder viewWillAppear. Der Code ist der nächste:

// Set color of titles and icons in tabBar 
self.tabBarController?.tabBar.tintColor = UIColor.redColor() 
// Set color of background tabBar 
self.tabBarController?.tabBar.barTintColor = UIColor.blueColor() 
+0

das funktionierte für, als ich zu jeder Ansicht ging, danke! Wenn ich jedoch auf eine vorherige Ansicht zurückgreife, bleibt sie dieselbe wie die letzte? Irgendeine Idee, wie ich es haben kann, so dass es zu dem einen wechselt, der für diese Ansicht eingestellt wurde? – Konsy

+0

warten! Ich habe es mit @Igor Vorschlag von viewWillAppear() zu arbeiten, danke euch beiden! – Konsy

1
  1. ersetzen Code ViewWillApper()
  2. besser Satz Background zu tabBar, nicht zu UITabBar.appearance()
+0

danke! dies mit @JaunManuel Vorschlag funktioniert! – Konsy

Verwandte Themen