Even if setFinishedSelectedImage:withFinishedUnselectedImage: deprecated in iOS7, it works fine in iOS7, but not in 8.
Use the image and selectedImage property of the UITabBarItem instead.
I also had the same problem, but my problem was different.
Link Code:
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0]; if ([self iOS7OrAbove]) { //use UIImageRenderingModeAlwaysOriginal to set the custom image for ios 7 and above. tabBarItem1.selectedImage = [[UIImage imageNamed:@"SelectedImage"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; tabBarItem1.image = [[UIImage imageNamed:@"UnselectedImage"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; } else { [tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"SelectedImage"] withFinishedUnselectedImage:[UIImage imageNamed:@"UnselectedImage"]]; }
source share