différence entre presentViewController et UINavigationController?
S'il vous plaît dites la différence entre presentViewController
et UiNavigationController
? Pourrais-je l'utiliser presentViewController
au lieu de UINavigationController
pour naviguer points de vue différents dans l'application?
Quel est le scénario à utiliser?
- s'il vous plaît penser évaluation de certains de ces réponses, si elles ont été d'aucune aide pour vous merci.
Vous devez vous connecter pour publier un commentaire.
presentViewController
offre un mécanisme pour afficher une modales-vue-contrôleur; c'est à dire, un point de vue contrôleur qui va prendre le plein contrôle de votre INTERFACE en étant superposées au-dessus d'un contrôleur.UINavigationController
offre beaucoup plus de mécanisme flexible où vous pouvez pousser un nouveau contrôleur, et, plus tard, de la pop, donc, pour revenir à la précédente, dans une manière ordonnée. Imaginez que les contrôleurs de la navigation contrôleur de construire une séquence de gauche à droite.Je pense que
presentViewController
est le plus adapté pour une utilisation avec juste un - vue-contrôleur être présenté à un moment. Vous pouvez certainement l'utiliser pour empiler plus de la vue des contrôleurs de l'un sur l'autre (et ce genre de "mimer" un du pauvre manette de navigation), mais mon pari est que vous allez rapidement trouver quelque chose qui ne fonctionne pas comme prévu.Plus précisément, un exemple d'une telle limitation est la suivante: quand vous renvoyez un modal-vue-contrôleur (afin de "fermer"), l'ensemble de vos modal présentés vue contrôleurs (à partir de la même présentation contrôleur) sera également rejetée à la fois. Si vous ne pourront tout simplement pas être en mesure de mettre en œuvre un "retour en arrière"/navigation comme fonctionnalité.
Donc, cela dépend de ce que vous essayez de faire.
Un
UINavigationController
est une sous-classe deUIViewController
qui gère une pile de vue des contrôleurs et ajoute un bouton de retour, etc.presentViewController
est une méthode de laUIViewController
classe que vous utilisez pour présenter un modal-vue-contrôleur.La
UINavigationController
maintient une pile de navigation pour vous. Vous êtes alors en mesure de naviguer à travers hiérarchique du contenu.http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html
Si vous utilisez
UIViewControllers
presentViewController
méthode que vous fondamentalement juste le remplacement de la vue-contrôleur. pas de pile de navigation est maintenu pour vous.UINavigationController est une classe, presentViewController est une méthode d'instance de UIViewController (iOS 5 + ), dont UINavigationController est une sous-classe.
pushViewController est une méthode comparable à presentViewController. C'est une méthode d'instance de UINavigationController, pour iOS 2 +