I'm implementing a theme in my application and I ran into a weird bug (feature?). For some odd reason, I can't use UIView.animate in my custom  UITabBarController class to animate a change in color of my UITabBar but the same exact code works perfectly in the custom class of my UINavigationController. 
Am I missing something? Is there something else I can use to animate the color change? I've scoured the Apple Documents but found nothing.
Here is the code I'm using in both cases:
class customNavigationController: UINavigationController {
    @IBOutlet weak var navBar = ThemeManager.navigationbar
    func dusk(notification: NSNotification) {
        UIView.animateWithDuration(1, animations: {
            self.navBar?.barTintColor = UIColor(red: 79/255, green: 79/255, blue: 79/255, alpha: 1)
            self.navBar?.barStyle = UIBarStyle.Black
        })
    }
}
And:
class customTabController: UITabBarController {
    @IBOutlet weak var tab = ThemeManager.tabbar
    func dusk(notification: NSNotification) {
        UIView.animateWithDuration(1, animations: {
            self.tab?.barTintColor = UIColor(red: 79/255, green: 79/255, blue: 79/255, alpha: 1)
            self.tab?.barStyle = UIBarStyle.Black
        })
    }
}
				
                        
Well to change color on the tab bar personally I use a whole different image with different colors
As you can see my selected image is my second image. Right now it won't show that image unless I add it to my "User Defined Runtime Attributes"
Set Keypath to "selectedImage", the type to "Image" and the value to your image that you'd like to display when presented. I hope this answers your question.