2013-10-17 5 views
7

Per favore, aiutami a nascondere il controller di navigazione nella vista principale. Ho trovato la soluzione per scrivere [navigationController setNavigationBarHidden:YES] in ogni controller di visualizzazione di cui ho bisogno. Beh, funziona, ma solo per la prima volta: eseguo l'applicazione, in root view non ho la navigazione, quindi vado alla seconda vista: la navigazione appare, OK. Ma poi premo "Indietro" nel controller di navigazione e la navigazione dalla vista principale non è scomparsa. Lavoro con Xib.Come nascondere il controller di navigazione nella vista principale?

risposta

18

In RootViewController

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

Al secondo View (accanto al RootViewController)

-(void)viewDidLoad:(BOOL)animated 
{ 
    [self.navigationController setNavigationBarHidden:NO animated:NO]; 
} 
+1

grazie! La tua risposta funziona. Grazie a tutti per le risposte. –

0

Prova questo

Utilizzare questa riga di codice su tutti i controller di vista

[navigationController setNavigationBarHidden: YES animated:YES]; 

Se nessuna animazione è necessario che si può fare animazione: NO e aggiungere questo codice nella viewDidLoad o metterlo viewWillAppear o viewDidAppear.

Nel tuo caso

[navigationController setNavigationBarHidden:YES animated:NO]; 

sul RootViewController, e

[navigationController setNavigationBarHidden:NO animated:YES]; 

su altri viewControllers

0

Nascondi barra di navigazione visualizza tutto del controller della vista apparirà metodo.

-(void)viewWillAppear:(BOOL)animated 
{ 
[super viewWillAppear:animated]; 
[navigationCOntroller setNavigationBarHidden:YES animated:animated]; 
} 
0

Credo che si sta utilizzando controller di barra delle schede.

Il codice sta funzionando per il controllore di prima visione dato che è presente solo il codice. Per il controller della seconda vista, diventa predefinito e quindi per il controller della seconda vista viene visualizzata la barra di navigazione.

Per nascondere barra di navigazione per tutti i controller di vista, inserire il codice nascosto in tutti i controller di vista viewWillAppear

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

sembra che ti ci sia voluto più tempo per scrivere questo :) – Jaro