tab item bar uitabbarcontroller uitabbar tabbar uitabbaritem ios7

uitabbarcontroller - item - tabbar ios



¿Cómo puedo cambiar el texto y los colores del icono para tabBarItems en iOS 7? (9)

Esto debería funcionar perfectamente para iOS 8 también

Para el elemento tabbar no seleccionado:

[[UIView appearanceWhenContainedIn:[UITabBar class], nil] setTintColor: [UIColor whiteColor]];

Para el elemento de tabbar seleccionado:

[[UITabBar appearance] setTintColor:[UIColor orangeColor]];

¿Cómo puedo cambiar el texto y los colores del icono para UITabBar y UITabBarItems en iOS 7? El texto gris predeterminado parece tenue y difícil de leer para los elementos tabbar no seleccionados.


use self.tabBarController.tabBar.barStyle = UIBarStyleBlack; para hacer que la barra de pestañas negra


La respuesta de Ed es perfecta, pero déjame agregar una cosa. TabBar es por defecto translúcido y se ve afectado por el color de la vista bajo el TabBar (es decir, el color de la vista de cada miembro viewController afecta a la apariencia de TabBar).

Así que establecí el código a continuación para que no se vea afectado.

self.tabBarController.tabBar.translucent = false;

Junto con la respuesta de Ed aquí hay un código completo que uso ahora.

self.tabBarController.tabBar.barTintColor = [UIColor blackColor]; self.tabBarController.tabBar.translucent = false; self.tabBarController.tabBar.tintColor = [UIColor blueColor];


Esto funcionó para mí, para teñir elementos no activos en el tabbar

UITabBarItem *item = [self.tabBar.items objectAtIndex:1];

// aquí debe usar el ícono con el color que desea, ya que se representará tal como está

item.image = [[UIImage imageNamed:@"unselected.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

// este icono se usa para la pestaña seleccionada y se tiñerá como se define en

self.tabBar.tintColor item.selectedImage = [UIImage imageNamed:@"selected.png"];


Lo intentas

for (UITabBarItem *item in self.tabBarController.tabBar.items) { item.image = [[UIImage imageNamed:@"youimage.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor whiteColor], UITextAttributeTextColor, nil] forState:UIControlStateNormal]; item.selectedImage = [UIImage imageNamed:@"youimage.png"]; }


[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor whiteColor], UITextAttributeTextColor, nil]


Hay dos cosas que debes hacer para esto:

1) Si desea personalizar el propio TabBar, debe establecer barTintColor para tabBarController:

// this will generate a black tab bar tabBarController.tabBar.barTintColor = [UIColor blackColor]; // this will give selected icons and text your apps tint color tabBarController.tabBar.tintColor = appTintColor; // appTintColor is a UIColor *

2) Establezca el aspecto del texto de tabBarItem para cada estado que desee sobrescribir:

[[UITabBarItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Bold" size:10.0f], NSForegroundColorAttributeName : appTintColor } forState:UIControlStateSelected]; // doing this results in an easier to read unselected state then the default iOS 7 one [[UITabBarItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Bold" size:10.0f], NSForegroundColorAttributeName : [UIColor colorWithRed:.5 green:.5 blue:.5 alpha:1] } forState:UIControlStateNormal];


Probado en iOS 8 para color de texto permanente (seleccionado / no seleccionado) y colores de imagen (seleccionado / deseleccionado) sin crear dos imágenes con diferentes colores en la pestaña foreach:

Color de texto:

[[UITabBar appearance] setTintColor: selectedTabColor ]; [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: **yourFont**, NSFontAttributeName, ** selectedTabColor**, NSForegroundColorAttributeName, nil] forState:UIControlStateNormal]; [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: **yourFont**, NSFontAttributeName, **selectedTabColor**, NSForegroundColorAttributeName, nil] forState:UIControlStateSelected];

Color de las imágenes: (suponiendo que las imágenes originales tengan el color que desea mostrar como no seleccionado)

En una subclase UITabBarController -awakeFromNib:

for (int i =0; i<self.viewControllers.count; i++) { UITabBarItem *tab = [self.tabBar.items objectAtIndex:i]; tab.image = [tab.image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ]; }

Créditos: todo el Internet y desbordamiento de pila XD


Código de forma gratuita para cambiar el color del texto en la barra de pestañas:

Si solo está usando iOS 10, puede cambiar el Tono de la imagen en su Barra de pestañas

Si también admite iOS 9 y versiones anteriores, también debe agregar tintColor a los atributos de tiempo de ejecución de su usuario en cada elemento de la barra de pestañas

Si también desea cambiar el color de su icono, asegúrese de que la imagen de color correcta se encuentre en su carpeta de assest y cambie Render como en la Imagen original.