2017-02-05 1 views
1

Wenn ich Code in meine AppDelegate-Funktion DidFinishLaunchingWithOptions, ich bin leicht in der Lage, ändern die Tab-Leiste Farbe, aber wenn ich eine Funktion mit dem gleichen Code in einem ViewController aufrufen, dann ändert sich nicht . Wie kann ich das ändern, nachdem ich zum Beispiel in einem View-Controller eine Taste gedrückt habe? HierÄndern der TabBar Farbe, nachdem App geladen

ist der Code in der didFinishLaunchingWithOptions Funktion:

UITabBar.appearance().tintColor = UIColor.white 
UITabBar.appearance().barTintColor = UIColor.black 

Antwort

2

Mit dem appearance Proxy setzt die Attribute für jede neue Steuerung danach erstellt. Es ändert kein vorhandenes verwandtes Steuerelement.

Wenn Sie die Attribute einer bestimmten vorhandenen Instanz festlegen möchten, legen Sie die Attribute direkt auf dem Steuerelement fest, ohne den appearance-Proxy zu verwenden.

someTabBar.tintColor = UIColor.purple 
someTabBar.barTintColor = UIColor.orange 
+0

Ich würde auch hinzufügen (basierend auf dem OP), dass der Code wahrscheinlich in ViewWillAppear sein muss. – dfd

Verwandte Themen