2009-10-26 22 views
5

La aplicación de iPhone de New York Times tiene una barra de pestañas con cinco elementos de barra de pestañas. Cuando selecciona la última pestaña, la aplicación muestra el título y el resumen/resumen en una UITableView. Cuando selecciona una historia individual para leer, la barra de pestañas desaparece y se reemplaza por un encabezado y pie de página que aparece/desaparece en función del estado de la aplicación. ¿Cómo "esconde" la aplicación la barra de pestañas?"Ocultar" la barra de pestañas al presionar una vista

Gracias!

Respuesta

6

El controlador de vista que se está colocando en la pila del controlador de navegación tiene su parámetro hidesBottomBarWhenPushed configurado en yes. El código se vería así en la vista de tabla -didSelectRowAtIndexPath.

NSDictionary *newsItem = [newsItems objectAtIndex:[indexPath row]]; 
NewsDetailViewController *controller = [[NewsDetailViewController alloc] init]; 
[controller setHidesBottomBarWhenPushed:YES]; 
[controller setNewsItem:newsItem]; 
[[self navigationController] pushViewController:controller animated:YES]; 
[controller release], controller = nil; 

Tome un vistazo a la documentation for hidesBottomBarWhenPushed.

p.s. Probablemente obtendrá más visibilidad sobre esta pregunta si agrega la etiqueta 'iphone'.

+0

Esto debe marcarse como la respuesta correcta. Gracias Matt de todos modos :) – Ahmed

2

Tengo una vista que necesita opcionalmente (dependiendo de otro estado) mostrar la barra de herramientas del controlador de navegación. Esta es la solución que solía mostrar & ocultar la barra de herramientas (con animación) cuando aparece la vista & desaparece a través de la navegación. Suena como lo que podrías estar buscando.

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 

    // Show the nav controller toolbar if needed 
    if (someBool) 
     [self.navigationController setToolbarHidden:NO animated:animated]; 
} 

- (void)viewWillDisappear:(BOOL)animated 
{ 
    [super viewWillDisappear:animated]; 

    // Hide the nav controller toolbar (if visible) 
    [self.navigationController setToolbarHidden:YES animated:animated]; 
} 
10

Implemente este fragmento de código en la clase en la que desea ocultar la barra de pestañas.

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { 
    // Custom initialization 
} 
self.hidesBottomBarWhenPushed = YES; 
return self; 
} 

Todo lo mejor.

Cuestiones relacionadas