Para cambiar el color del ícono de UITabBar no seleccionado en iOS 7?

Sé que esta pregunta también se ha preguntado anteriormente, pero aún así no obtuve ninguna solución buscando la solución en Internet.

Me referí a las siguientes publicaciones:

¿Cómo puedo cambiar el text y los colors de los icons para tabBarItems en iOS 7? Solo puede cambiar el color de los icons seleccionados con tintColor .

¿Cómo cambiar el color de los elementos de la barra de tabs no seleccionados en iOS 7? En esto, han escrito su propia class GozTabBar henetworkingada de UIView

Quiero cambiar el color gris pnetworkingeterminado del ícono de UITabBar cuando está en estado no seleccionado.

Cualquier ayuda sería muy apreciada. Gracias por adelantado.

¿Estoy asumiendo que no quieres cambiar el color con tintColor? Otra opción es utilizar dos imágenes que se ven exactamente iguales, pero difieren en color. Una image es la pestaña seleccionada, y la otra no está seleccionada.

En su aplicación AppDelegate.m - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions function - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions , intente esto.

 UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; UITabBar *tabBar = tabBarController.tabBar; // repeat for every tab, but increment the index each time UITabBarItem *firstTab = [tabBar.items objectAtIndex:0]; // also repeat for every tab firstTab.image = [[UIImage imageNamed:@"someImage.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ]; firstTab.selectedImage = [[UIImage imageNamed:@"someImageSelected.png"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 

Edición: para aquellos que no tienen el controller de barra de tabs como su controller de vista raíz, puede agarrar el controller como este y el rest del código es el mismo.

UITabBarController *tabBarController = self.tabBarController;

Si ya configuró las imágenes de barra de tabs con Storyboard, simplemente llame a este método en ViewDidLoad de su primera vista:

 -(void) configTabBar { UITabBarController *tabBarController = [self tabBarController]; UITabBar *tabBar = tabBarController.tabBar; for (UITabBarItem *tab in tabBar.items) { tab.image = [tab.image imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal]; tab.selectedImage = [tab.image imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal]; } } 
 [[UITabBar appearance] setTintColor:[UIColor colorWithRed:252/255.0 green:218/255.0 blue:49/255.0 alpha:1.0]]; tabBarItem1.image = [[UIImage imageNamed:@"home_icon.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; tabBarItem1.selectedImage = [UIImage imageNamed:@"home_icon_selected.png"]; [[UITabBar appearance] setBackgroundColor:[UIColor colorWithRed:15/255.0 green:85/255.0 blue:160/255.0 alpha:1.0]]; // Change the title color of tab bar items [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor whiteColor], NSForegroundColorAttributeName, nil] forState:UIControlStateNormal]; UIColor *titleHighlightedColor = [UIColor colorWithRed:252/255.0 green:218/255.0 blue:49/255.0 alpha:1.0]; [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: titleHighlightedColor, NSForegroundColorAttributeName, nil] forState:UIControlStateHighlighted] 

cambiar UIControlStateHighlighted a UIControlStateSelected para iOS8

  [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor whiteColor], NSForegroundColorAttributeName, nil] forState:UIControlStateNormal]; [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: titleHighlightedColor, NSForegroundColorAttributeName, nil] forState:UIControlStateSelected]