ios ios7 uitabbarcontroller uitabbar uitabbaritem

¿Para cambiar el color del icono UITabBar no seleccionado en iOS 7?



ios7 uitabbarcontroller (4)

¿Supongo que no desea cambiar el color con tintColor? Otra opción es usar dos imágenes que se ven exactamente iguales, pero difieren en el color. Una imagen es la pestaña seleccionada, la otra no está seleccionada.

En su aplicación AppDelegate.m - (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 controlador de la barra de pestañas como su controlador de vista raíz, puede tomar el controlador de esta manera y el resto del código es el mismo.

UITabBarController *tabBarController = self.tabBarController;

Sé que esta pregunta también se hizo antes, pero aún así no conseguí ninguna solución buscando la solución en Internet.

Me refiero a los siguientes mensajes:

¿Cómo puedo cambiar el texto y los colores de los iconos para tabBarItems en iOS 7? Solo se puede cambiar el color de los iconos seleccionados usando tintColor .

¿Cómo cambiar el color de los elementos de la barra de pestañas no seleccionados en iOS 7? En esto han escrito su propia clase GozTabBar heredada de UIView

Quiero cambiar el color gris predeterminado del icono de la UITabBar de UITabBar cuando no está seleccionado.

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


Si ya configuró las imágenes de la barra de pestañas con Storyboard, solo 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]; } }


cambiar UIControlStateHighlighted to UIControlStateSelected para iOS8

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


[[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]