W mojej aplikacji chciałem, aby każdy kontroler ViewController miał unikalny kolor TabBarItem, gdy był prezentowany.
w IOS 8 ręczne dodanie atrybutów tintColor w ujęć działa dobrze, ale nie ma żadnego efektu w iOS 9/Xcode 8.
że rozwiązać ten problem, w tym następujący kod w każdym z moich dzieci TabBarController ViewControllers, przesłaniając każdą z ich funkcji ViewDidAppear().
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.tabBarController?.tabBar.tintColor = UIColor.whateverColor
//The rest of your code
}
Jest to bezpieczne w każdym ViewController, ze względu na? po wywołaniu tabBarController. Jeśli ViewController nie jest osadzony w TabBarController, cała linia jest po prostu ignorowana.
Umieszczając ten kod w każdym ze swoich VC, można łatwo określić kolor każdego TabBarItem.
działa świetnie! dzięki. – Dean
Moja przyjemność, @Dean! –
w iOS setSelectedImageTintColor przestarzałe, zamiast tego należy użyć tintColor.Wersja Swift: UITabBar.appearance(). TintColor = UIColor.red – Jurasic