2012-06-18 8 views
28

Desidero sapere qual è il diverso di essi. quando posso chiamaredismissViewControllerAnimated VS popViewControllerAnimated

[self dismissViewControllerAnimated:YES completion:nil]; 

e quando devo chiamare

[self.navigationController popViewControllerAnimated:YES]; 

secondo documento di mela: dismissViewControllerAnimated significa "respinto il controller della vista che è stato presentato da parte del ricevitore." Ma non riesco sempre a chiudere il controller della vista con questo metodo.

+0

Per quanto riguarda il licenziamento, consultare [questo] (https://youtu.be/oTsg-uJfxD4?t=556) video da Stanford. dismissViewController deve sempre essere inviato a * presentando * viewController. Se lo mandi il * present * viewController e il presentViewcontroller non ha presentato ** a ** nother viewController * quindi * lo eliminerebbe correttamente altrimenti non lo farebbe correttamente – Honey

risposta

38

l'applicazione selezionata è un'applicazione basata navigazione significa

[self.navigationController popViewControllerAnimated:YES]; 

l'applicazione selezionata è altro che l'applicazione basata navigazione significa

[self dismissViewControllerAnimated:YES completion:nil]; 
+0

quindi vuol dire: Non dovrei usare dismissViewControllerAnimated in a applicazione basata sulla navigazione? Penso che sia la ragione per cui non riesco sempre a scartare ViewControllerAnimato, grazie! –

36

-dismissViewControllerAnimated: completamento:

Utilizzato per respingere un UIViewController, che è stato presentato dal metodo:

-presentViewController:animated:completion:.

-popViewControllerAnimated:

Metodo di UINavigationController viene utilizzato per pop un controllore dimostrato da

-pushViewController:animated metodo UINavigationController.

Nel primo caso, la vista del controller di visualizzazione viene visualizzata come controller modale (solitamente dal basso verso l'alto) e il secondo caso si preme un controller di visualizzazione nello stack di navigazione di UINavigationController.

Problemi correlati