2009-10-24 31 views

Respuesta

95

poner este código en el controlador de vista que desea ocultar la barra de navegación.

- (void) viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    [self.navigationController setNavigationBarHidden:YES animated:animated]; 
} 

Y también puede que desee seguir esta ahí, en función de sus necesidades:

- (void) viewWillDisappear:(BOOL)animated { 
    [super viewWillDisappear:animated]; 
    [self.navigationController setNavigationBarHidden:NO animated:animated]; 
} 
+0

me gustaría añadir a la pregunta, cómo hacer que ocultar/mostrar cuando el usuario toca hacia donde está. Es decir: como en la aplicación de fotos. – JoePasq

+3

Acabas de poner esa llamada setNavigationBarHidden donde quieras, cuando necesitas ocultar la barra de navegación. –

+0

Bueno, esto me funciona. –

0

Para iOS 8 Puede ser este trabajo alrededor podrían trabajar que

CATransition* transition = [CATransition animation]; 
     transition.duration = 0.3; 
     transition.type = kCATransitionPush; 
     transition.subtype = kCATransitionFromRight; 
     [self.navigationController.view.layer addAnimation:transition forKey:kCATransition]; 
     [self.navigationController setNavigationBarHidden:TRUE animated:FALSE]; 
     [self.navigationController pushViewController:productViewObj animated:FALSE]; 
     [productViewObj.navigationController setNavigationBarHidden:TRUE animated:FALSE]; 
     [productViewObj release]; 
2

Aquí está cómo hacerlo en Swift 3:

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 
    self.navigationController?.setNavigationBarHidden(true, animated: animated) 
} 

P.S. Descubrí que si configuras animación en false, aparece una barra negra al presionar. ¡Pero cuando se establece en true es suave como la seda!

Cuestiones relacionadas