Swift 2.2 How to change background color of tab bar controller
Xcode 9
Storyboard
It possible to set background color directly in view controller (currently in TabBarViewController), for this you need to define Key Path. Don't forget to remove background color on nested view, otherwise it will overlap superview's background color.
This is a fine way to change the color of a UITabBar
. If you want to avoid setting the color in every viewController that is embedded inside of your UITabBarController
, you could also create a subclass of UITabBarController
and set it there. This way no matter what page comes up first, the color will be set.
To create a subclass of UITabBarController
, just go to file > new > file > cocoa touch class...Then setup your file like in this photo
Now in your storyboard, set the custom class on your tabBarController
Finally, in your file you created MyTabBarController
(or whatever you called it):
class MyTabBarController: UITabBarController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.tabBar.barTintColor = .blueColor()
}
...