Here is a quick solution based on @MrAlek solution, create a custom UITabBarItem
import UIKit @IBDesignable class YourTabBarItem: UITabBarItem { @IBInspectable var selectedImageName:String!{ didSet{ selectedImage = UIImage(named: selectedImageName) } } }
and in the interface builder, change the class of the tab bar item and you will see the Selected Image Name attribute, just specify its name for the selected image. I believe that @IBInspectable uses the runtime attribute.

source share