Nella mia applicazione, volevo che ogni ViewController avesse un colore TabBarItem univoco quando presentato.
In iOS 8, l'aggiunta manuale di un attributo tintColor nella storyboard funzionava bene, ma non ha alcun effetto sotto iOS 9/Xcode 8.
ho risolto il problema inserendo la codice seguente in ciascuno dei bambini ViewControllers del mio TabBarController, che sovrascrivono ciascuna delle loro funzioni ViewDidAppear().
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.tabBarController?.tabBar.tintColor = UIColor.whateverColor
//The rest of your code
}
Questo è sicuro in qualsiasi ViewController, a causa del? dopo la chiamata tabBarController. Se ViewController non è incorporato in un TabBarController, l'intera riga viene semplicemente ignorata.
Inserendo questo codice in ciascuno dei VC, è possibile specificare facilmente il colore di ogni TabBarItem.
fonte
2016-09-27 21:43:28
funziona alla grande! Grazie. – Dean
Piacere mio, @Dean! –
in iOS setSelectedImageTintColor deprecato, dovrebbe essere usato tintColor.Versione Swift: UITabBar.appearance(). TintColor = UIColor.red – Jurasic