Por defecto en la barra de UITab, hay un resaltado brillante en el UITabBarItem seleccionado.¿Cómo eliminar el resaltado brillante en UITabBarItem seleccionado en iOS?
¿Es posible quitar la máscara de realce brillante?
Gracias.
Por defecto en la barra de UITab, hay un resaltado brillante en el UITabBarItem seleccionado.¿Cómo eliminar el resaltado brillante en UITabBarItem seleccionado en iOS?
¿Es posible quitar la máscara de realce brillante?
Gracias.
[[UITabBar appearance] setSelectionIndicatorImage:[UIImage {anImage}]]
esto no tiene efecto en cada barra de pestañas que utiliza (incluso las subclases unos)
Si utiliza una imagen aquí que tiene el mismo color que su fondo de barra de pestañas, que no verá un indicador.
Tal vez incluso pueda usar una imagen transparente completa, o una imagen que sea 1px * 1px.
En caso de que esté personalizando los elementos de la barra de pestañas con imágenes personalizadas, puede hacerlo. Hice la personalización de elementos de la barra de pestañas al agregar una imagen de fondo a la barra de pestañas con todas las pestañas dibujadas, una pestaña en estado seleccionado y otras en estado no seleccionado. En cada didSelectViewController cambio la imagen de fondo. Entonces, traigo la vista de la imagen de fondo al frente y agrego etiquetas personalizadas con el título necesario.
Resultado: Tengo una barra de pestañas personalizada sin efecto brillante. Es interesante que UITabBarButtons se encuentren en la imagen de fondo, pero aún se pueden seleccionar.
El código es algo así:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
[self customizeTabBar];
}
- (void)customizeTabBar {
NSString *imageName = [NSString stringWithFormat:@"tabbg%i.png", tabBarCtrl.selectedIndex + 1];
for(UIView *view in tabBarCtrl.tabBar.subviews) {
if([view isKindOfClass:[UIImageView class]]) {
[view removeFromSuperview];
}
}
UIImageView *background = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:imageName]] autorelease];
[tabBarCtrl.tabBar insertSubview:background atIndex:0];
[tabBarCtrl.tabBar bringSubviewToFront:background];
//if needed, here must be adding UILabels with titles, I didn't need it.
}
Usted estará quizá interesado acerca de esto :)
¿dónde debería agregar este código? – chatur
en ese UIViewController
Muchas gracias Mitya .. !! – chatur
[[UITabBar appearance] setSelectionIndicatorImage:[[UIImage alloc] init]];
funciona como un encanto!
Alguien debería marcar este como correcto .. <3 –
Excelente respuesta, pero tenga en cuenta que esto afectará TODA UITabBars, incluso aquellas que son subclases. –
Según Apple's documentación se puede implementar:
(void)setFinishedSelectedImage:
(UIImage *)selectedImage withFinishedUnselectedImage:
(UIImage *)unselectedImage
que es un método UITabBar
Uso http://ioscodesnippet.tumblr.com/post/9247898208/creating -a-placeholder-uiimage-dynamically-with-colour para crear la imagen clara. Funciona genial. – nh32rg