Search code examples
iosxcode6uitabbar

Set tab bar item selected image in xcode 6


This is my setup for a tab bar item:

enter image description here

However when clicking on the item inside the app the 1051-id-badge-selected image is not shown, instead nothing is shown:

enter image description here

Is something wrong with my setup? Any ideas?


Solution

  • To get around this issue and set selected image without writing any code, we can also use "User Defined Run Attributes".

    enter image description here

    Select the tab bar item, then in 'Identity Inspector', add a new value from 'User Defined Runtime Attributes'.

    Set the 'Key Path' to selectedImage, and choose 'Type' Image, then fill in the 'Value' with your image name.


    If the inspector solution is not working for you (e.g. because of an Xcode bug) you can try this solution. In AppDelegate:

    var tabBarController = self.window!.rootViewController as UITabBarController
    let tabItems = tabBarController.tabBar.items as [UITabBarItem]
    
    tabItems[2].selectedImage = UIImage(named: "1051-id-badge-selected.png")
    

    Update on May 25, 2016:

    On Xcode 7.3.1 the Selected Image field under Tab Bar Item section is working correctly. (But I don't know from which exact version Apple fixed it for Xcode).