2012-01-03 8 views
6

He realizado un proyecto de barra de pestañas iOS, cuando recibí la solicitud para cambiar la imagen de fondo de la barra de pestañas a una imagen personalizada. El proyecto está desarrollado para iOS 4.x, por lo que el iOS5 [tabBar setTabBarBackgroundImage:[UIImage imageNamed:@"custom.jpg"]] no funciona. ¿Puede sugerirme algunas soluciones simples (si hay alguna posibilidad, no me gustaría cambiar todo el proyecto)?Imagen de fondo de la barra de pestañas personalizadas - en iOS 4.x

Editar: Sólo tres líneas de código puede resolver todos:

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"customImage.png"]]; 
[self.tabBarController.tabBar insertSubview:imageView atIndex:0]; 
[imageView release]; 

Respuesta

3

Una posible solución sería la de poner UIView su imagen de fondo con exactamente detrás de la UITabBar. A continuación, reduzca la opacidad de la barra de pestañas a 0.5 para que pueda ver la imagen de fondo que viene.

UIView *bckgrndView = [[UIView alloc] initWithFrame:CGRectMake(tabbar.frame.coords.x, tabbar.frame.coords.y, tabbar.frame.size.width, tabbar.frame.size.height)]; 
[bckgrndView setBackgroundImage:[UIImage imageNamed:@"custom.jpg"]]; 
[tabbar.superView insertSubView:bckgrndView belowSubview:tabbar]; 
tabbar.alpha = 0.5; 
[bckgrndView release]; 

Lo siento si mi código contiene algunos errores. Intenté hacer esto de memoria ... Pero captarás la deriva.

+0

Gracias, fue una idea útil :) – MMMM

0

He respondido un tipo similar de pregunta here. Espero que ayude

0

Echa un vistazo a NGTabBarController, una barra de pestañas de código abierto de reemplazo con imagen de fondo personalizable.

Cuestiones relacionadas