Если вы определяете элементы бара , вы можете сделать это следующим образом:
let array = [UIColor.red, UIColor.blue, UIColor.green]
реализовать UITabBarDelegate
@IBOutlet weak var tab3: UITabBarItem!
@IBOutlet weak var tab2: UITabBarItem!
@IBOutlet weak var tab1: UITabBarItem!
func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
if item == tab1 {
tabBar.tintColor = array[0]
}else if item == tab2 {
tabBar.tintColor = array[1]
}else {
tabBar.tintColor = array[2]
}
}
Если вы используете TabBarController , добавьте этот код в каждый viewControllers:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.tabBarController?.tabBar.tintColor = .green // change the color for each viewControllers
}