Barra de tabs que aparece después de hacer estallar un controller de vista

Estoy desarrollando una aplicación ios, y en esa aplicación estoy usando un controller de barra de tabs. Y desde el controller de barra de tabs estoy navegando a otro controller de vista. Antes de empujar el controller de vista, estoy configurando una propiedad de ese controller

viewController.hidesBottomBarWhenPushed = YES; 

Y estoy navegando a otro controller de vista que tiene la barra de tabs en la parte inferior.

El problema es cuando vuelvo a mostrar el controller de vista en el controller de vista. La barra de tabs también aparece en esa vista. ¿Hay alguna forma de ocultar la barra de tabs cuando aparece un controller de vista?

Será genial si alguien me puede ayudar con esto.

Gracias por adelantado.

En ese caso, el método viewWillAppear será útil. en su primer controller de vista, coloque este código

 -(void)viewWillAppear:(BOOL)animated { self.tabBarController.tabBar.hidden = YES; } 

Entonces, cuando aparezca el segundoviewcontroller, llamará a este método y su barra inferior se ocultará.

Coloque esto cuando click el button Atrás

 [self.tabBarController.tabBar setHidden:YES]; [UIView animateWithDuration:0.5 animations:^{ self.tabBarController.tabBar.frame = CGRectMake(self.tabBarController.tabBar.frame.origin.x, self.tabBarController.tabBar.frame.origin.y+self.tabBarController.tabBar.frame.size.height, self.tabBarController.tabBar.frame.size.width, self.tabBarController.tabBar.frame.size.height); } 

Tengo otra respuesta …

Coloque estos dos methods en todo el ViewController y administre la variable BOOL que es self.hidesBottomBarWhenPushed to YES y NO según su requisito

 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; self.hidesBottomBarWhenPushed = YES; } - (void)viewDidDisappear:(BOOL)animated { self.hidesBottomBarWhenPushed = NO; } 

Depende del layout de su aplicación, puede configurar un object central como delegado del controller de navigation. Y oculta / muestra la barra de tabs. esta pregunta escondeBottomBarWhenPushed pero cuando aparece también proporciona una solución, pero no me gusta. Por cierto, no es común mostrar la barra inferior nuevamente cuando el usuario navega a un segundo nivel o más profundo.

En cambio, puede presentar el segundo controller de vista en el controller de la barra de tabs. Si desea que el segundo controller de vista tenga una barra de navigation, puede ponerlo dentro de un nuevo controller de navigation.

Si de esa manera no resuelve su problema, puede crear un controller de barra de tabs personalizado para que pueda estar dentro de un controller de navigation. Puede enviar el segundo controller de vista a ese controller de navigation. Para crear un controller de barra de tabs personalizada, puede consultar la documentation de Apple en Creación de controlleres de vista de contenedor personalizados . Creo que funciona bien en iOS 5 y versiones posteriores.