2010-01-21 15 views

risposta

187

UINavigationController s' -popViewControllerAnimated: metodo dovrebbe fare quello che vuoi:

[navigationController popViewControllerAnimated:YES]; 
+12

impressionante, grazie a Steve e Niels. La soluzione che ho usato è stata \t \t [self.navigationController popViewControllerAnimated: YES]; facile;) – oberbaum

+0

funziona perfettamente eccetto viewcontrollers aggiunti su uitabbar. qualche indizio ?? – virata

+1

Ho aggiunto '[self.navigationController popViewControllerAnimated: YES];' ma non fa nulla, tuttavia c'è un avviso sulla registrazione di quel pulsante che sta funzionando. –

7

Si dovrebbe chiamare

popViewControllerAnimated:

che è l'opposto di aggiungere controller di vista con pushViewController:animated:

24

si Assumendo in realtà non voglio PREMERE il pulsante a livello di codice, ma si copia il risultato della pressione del pulsante, dovresti dire al controller di navigazione di far apparire il controller della vista corrente.

[self.navigationController popViewControllerAnimated:YES];

Ciò rimuoverlo dalla pila, e si torna al precedente controller della vista.

6
[self.navigationController popViewControllerAnimates:YES]; 

è l'opzione migliore, ma se siete né sulla stessa classe di visualizzazione del controller o le modifiche delegato prima il metodo di pulsante Indietro chiamato allora si può anche try--

prima è necessario definire pulsante Indietro ---

UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle: @"anyTitleForBackButton" style: UIBarButtonItemStyleBordered target: nil action: @selector(backButtonTapped)]; 

[[self navigationItem] setBackBarButtonItem: newBackButton]; 

[newBackButton release]; 

e poi nel metodo backButtonTapped è possibile: quando si fa

[self.navigationController pushViewController:desiredViewController animated:YES]; 
20

Swift 3,0

Torna alla vista radice

self.navigationController?.popToRootViewController(animated: true) 

Torna alla vista precedente

self.navigationController?.popViewController(animated: true) 

Swift 2.3

Torna alla vista radice

self.navigationController?.popToRootViewControllerAnimated(true) 

Torna alla vista precedente

self.navigationController?.popViewControllerAnimated(true) 
+0

Bella risposta, lo stavo cercando –

+0

Grazie! Felice ha aiutato .. –

Problemi correlati