Cómo deshabilitar la barra de navigation en iOS

Me gustaría deshabilitar la barra de navigation al agregar una vista secundaria y volver a habilitarla una vez que elimino la vista secundaria. Como hacer eso. Una acción similar cuando se muestra una hoja de acción.

En Swift:

self.navigationController?.setNavigationBarHidden(true, animated: true) 

Use (Objective-C):

 [self.navigationController setNavigationBarHidden:YES animated:YES]; 
 self.navigationController.navigationBar.topItem.leftBarButtonItem.enabled = NO; self.navigationController.navigationBar.topItem.rightBarButtonItem.enabled = NO; self.navigationController.navigationBar.topItem.backBarButtonItem.enabled = NO; 

[[self navigationController] setNavigationBarHidden: YES animated: YES];

Tenga en count que puede tener que realizar un seguimiento de los botones inicialmente deshabilitados, si desea evitar habilitarlos nuevamente de esta manera.

Tampoco he comprobado si esto incluye el button Atrás. Supongo que no, por lo que tendrás que dar count de esto si es necesario también.

 NSArray* allBarButtons = [self.navigationController.navigationBar.topItem.leftBarButtonItems arrayByAddingObjectsFromArray:self.navigationController.navigationBar.topItem.rightBarButtonItems]; for (UIBarButtonItem* barButton in allBarButtons) { barButton.enabled = NO; }