2012-05-18 17 views
6

Portar una aplicación al ipad y en Horizontal, la barra de tabulación parece un poco escasa, así que tuvo la idea de separar las pestañas (6 de ellas) e insertar una imagen entre ellas.Insertar un espacio/vista/imagen entre los artículos de UITabbar

Actualmente uso TabBarKit y hace todo y más el UITabbar, pero esto es algo en lo que estoy atascado. ¿Tiene problemas para encontrar la forma de insertar espacio vacío, ya sea una imagen o UIView (el fondo ya es una imagen)?

Lo que he hecho hasta ahora es agregar varios elementos tabbar adicionales mediante programación y establecer la imagen en cero y eliminar la interacción del usuario. (encontré esta solución en otro hilo de stackoverflow, pero no es una solución perfecta).

UIToolbar tiene un elemento de espacio flexible, pero cuando traté de usar esto como tab bar item causó algunos problemas.

Así que si alguien tiene alguna idea sobre cómo insertar una vista, espacio vacío, etc. en la barra de pestañas, sería muy apreciado.

ACTUALIZACIÓN

Comienza una recompensa, porque tengo curiosidad por ver si esto se puede hacer o no. La vista del paisaje del ipad tiene mucho espacio y se me ha pedido que coloque una imagen en el medio dividiendo los botones.

Si la aplicación es rechazada, más me engañará. Todos los ejemplos, muestras, sugerencias, consejos apreciado considerablemente

Imagen ejemplo: enter image description here

+1

es demasiado difícil entender su problema por favor publique una imagen de tabbar para que uno pueda responder fácilmente. – Hiren

+0

Imagen cargada, gracias por la idea mate – Elmo

+0

No sé si esto es posible o no, pero puede organizar botones como tabbar y administrar evento de botón con imágenes – Hiren

Respuesta

5

Estoy de acuerdo con la respuesta anterior de que probablemente esta no sea una gran idea, aunque técnicamente es posible.

El truco de una barra tabular personalizada es ocultar la barra tabular predeterminada y colocar su propia vista personalizada en ese espacio. Entonces puedes llenar esa vista con botones, imágenes, realmente lo que quieras. Así es como manejé esto.

configuro mi UITabBarController como este en el AppDelegate:

UITabBarController tabBarController = [[UITabBarController alloc] init]; 
tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, 
              viewController2, 
              viewController3, 
              nil]; 
//add the custom tabbarcontroller 
CustomTabBar customTabBar = [[CustomTabBar alloc] initWithFrame:CGRectMake(0, self.window.frame.size.height - 60, self.window.frame.size.width, 62)]; 
    [self.tabBarController.view addSubview:_customTabBar]; 

tabBarController.tabBar.hidden = YES; 
self.window.rootViewController = self.tabBarController; 

El CustomTabBar es una subclase de UIView donde pongo mis propios botones personalizados. Cuando se hace clic en un botón de esta clase, hago una llamada que se ve así:

-(void)firstBtnClicked:(id)sender { 
    ((UIButton*)sender).enabled = NO; 
    AppDelegate *delegate = (AppDelegate*)[UIApplication sharedApplication].delegate; 
    delegate.tabBarController.selectedIndex = 0; 
} 
4

Yo haría lo desanime de jugar con bien pensado separación de Apple para la barra de pestañas. No hagas esto: estás pirateando un control nativo de una mala manera y esto tendrá consecuencias en el futuro. Además, tendrás que lidiar con diferentes espacios y lógica en el modo paisaje vs retrato. No complique las cosas innecesariamente, úselas según lo diseñado o reconsidere si una barra de pestañas es el control apropiado.

Citando de Apple's guidelines:

En iPad, muestran las mismas pestañas en cada orientación para incrementar la estabilidad visual de su aplicación. En vertical, las siete pestañas recomendadas se adaptan bien en todo el ancho de la pantalla. En orientación horizontal, debe centrar las mismas pestañas a lo largo del ancho de la pantalla. Esta orientación también se aplica al uso de una barra de pestañas dentro de un panel de vista dividida o un popover. Por ejemplo, si utiliza una barra de pestañas en un popover en portrait, funciona bien para mostrar las mismas pestañas en el panel izquierdo de una vista dividida de en horizontal.

+0

Gracias por la respuesta. La aplicación está siendo bloqueada en modo Paisaje para el iPad y la versión de iPhone está bloqueada en vertical. Simplemente pensé que la imagen entre ellos se vería bien y le daría una sensación abierta a la aplicación – Elmo

+1

Tener imágenes adicionales allí confundirá a los usuarios de tus aplicaciones. No lo hagas – ader

+0

Te di la recompensa porque creo que tienes razón, pero es algo que me pidieron que hiciera. Saludos por la información – Elmo

Cuestiones relacionadas