2012-07-21 21 views
8

Estoy tratando de implementar una UITabBar oculta en mi aplicación. Configuré todas las animaciones y funcionan muy bien. Solo estoy teniendo problemas para obtener mi "pestaña de extracción" UIButton para mostrar la barra de pestañas. No responde al evento táctil UIControlEventTouchUpInside. agrego la lengüeta de tiro a la UITabBar en el UITabBarController:Agregar un UIButton como una subvista a una UITabBar

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
//Add pull 
    pullButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    UIImage *image = [UIImage imageNamed:@"TabBarPull.png"]; 
    pullButton.frame = CGRectMake(self.tabBar.frame.size.width - image.size.width, -image.size.height + 3, image.size.width, image.size.height); 
    [pullButton setImage:image forState:UIControlStateNormal]; 
    [pullButton addTarget:self action:@selector(pullBarTapped:) forControlEvents:UIControlEventTouchUpInside]; 
    pullButton.userInteractionEnabled = YES; 
    [self.tabBar addSubview:pullButton]; 
} 

Esto es lo que la barra de pestañas se parece abierto y cerrado:

TabBar not hidden TabBar Hidden

Edición: He determinado que el problema es porque el botón cae fuera del marco de UITabBar. Parece que voy a tener que poner el botón fuera del UITabBar ... Pesadilla de animación.

+0

Bueno, es POSIBLE que usted pueda subclase UITabBar, descubra cómo hacer que su subclase sea utilizada en UITabBarController (subclase), luego en su subclase UITabBar cree un marco más grande, haga que el UITabbar use su marco normal, pero ahora su subclase debería tener todos los grifos, etc. Si fuera yo, primero trataría de hacer la subclase UITabBar en un proyecto de demostración, solo cuando eso funcione intente hacer que funcione con todas las otras máquinas. ¡Buena suerte! –

+0

@Brandon Mcq Hola, estoy buscando lo mismo, ¿alguna vez se te ocurrió una buena solución? ¡Gracias! – RyanG

+0

@Brandon Mcq Acabo de ver tu github, echando un vistazo a eso gracias! – RyanG

Respuesta

12

fijas que se pueden añadir el UIButton a la vista principal UITabBarController 's, no en el UITabBar aunque .... [myUITabBarController.view addSubview:pullButton]

+4

Esto funcionó, gracias. Creé un proyecto de muestra y lo puse en github. [enlace] (http://github.com/Marxon13/HideableTabBar) –

0

Puesto que usted tiene la parte escondite de trabajo dentro de la UITabBar y de la respuesta que he visto aquí , una alternativa sería mantener el UIButton dentro de la UITabbar pero también agregar el botón a la vista cuando la barra de UITab está oculta (por lo que tendrá dos botones superpuestos). Cuando se muestra la barra de pestañas, oculte el botón que ha agregado a la vista con la propiedad oculta en la vista.

Cuestiones relacionadas