iOS - pushViewController vs PresentModalViewController Unterschied
Was ist der Unterschied zwischen der Berufung presentModalViewController
und pushViewController
wenn :
- animation ist auf NEIN gesetzt (auch wenn ja, das ist nur eine animation Stil, die geändert werden können).
- eine Navigations-controller definiert ist, bei der Vorstellung der modal-Ansicht, so dass es sein kann, schiffbar zu werden, mit einem call-stack, ....
Ist dies nur, um in der Lage zu gehen, zurück aus dem ersten geschoben ? Woooaaaaaa.....
Ich denke, der Unterschied liegt woanders und tiefer. Nein ?
InformationsquelleAutor der Frage Oliver | 2011-11-08
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der wichtigste Unterschied ist über die Semantik. Modal-view-Controller geben in der Regel, dass der Benutzer einige Informationen, oder etwas tun. Dieser link erklärt es mehr in die Tiefe: http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html
Hier ist eine weitere, weniger abstrakte Unterschied Sie reden:
"Wenn du heute eine modal-view-controller das system erstellt eine parent-child-Beziehung zwischen den Ansicht-controller, der hat die Darstellung und den view-controller vorgestellt wurde. Insbesondere die Ansicht-controller, der hat die Vorlage aktualisiert seine modalViewController Eigenschaft zu Punkt dargestellt (Kind) view-controller. Ebenso werden die vorgestellten view-controller aktualisiert seine parentViewController Eigenschaft zurück auf den view-controller, präsentiert."
Siehe auch diesen thread: warum "die heutige modal-view-controller"?
InformationsquelleAutor der Antwort aleph_null
Ignorieren übergänge/Animationen und, wie die Dinge strukturiert sind, hinter den kulissen (die aleph_null ist alswer sorgt für eine gute Diskussion), die nur user-facing Unterschied ist die Fähigkeit zur Rückkehr zur vorhergehenden Ansicht wird automatisch die Navigationsleiste.
Wenn Sie
pushViewController
erhalten Sie automatisch eine Schaltfläche "Zurück" in der Navigationsleiste. Wenn SiepresentModalViewController
Sie nicht, und in der Regel implementieren müssen, um Ihre eigenen Steuerelemente und/oder Rückrufe zu behandeln, die Entlassung der controller.Konzeptionell die modale Darstellung wird im Allgemeinen verwendet für Atomare Aufgaben, die Sie nicht verlassen (d.h. Sie entweder die Aufgabe abzuschließen, oder Sie Abbrechen, und Sie können nicht alles tun, was in der app bis du eine oder das andere).
Wenn Sie sich Fragen warum haben den Unterschied in den ersten Platz, kann ich nicht sagen. Ich persönlich denke, frameworks, bieten eine einheitliche API für das bewegen von einem controller zu einem anderen (wie cocos2d oder Android) machen viel mehr Sinn.
InformationsquelleAutor der Antwort aroth
Werfen Sie einen Blick in die viewControllers in der Bild
Jetzt müssen Sie sich Fragen,
Muss ich immer zeigen, login + submit-Seite, jedes mal? Es wäre Schmerz im Nacken für den Benutzer zu jeder Zeit melden, auch wenn Sie das Letzte mal eingeloggt. Diese 2-Bildschirm wirklich passen nicht in den natürlichen Fluss der Bildschirme. Also, was tun wir? Wir fügen Sie Sie Modal mit
presentViewController
Jedoch für den rest des viewControllers wir wollen, um Sie innerhalb von 2 navigation, so können wir leicht hin und her gehen so verwenden wir
pushViewController
Weitere Informationen empfehle ich Ihnen, um zu sehen, diese video
Das Bild wurde auch ausgewählt aus diese tolle Antwort. Es verdient einen Blick.
InformationsquelleAutor der Antwort Honey
Dies ist, was meine Erfahrung sagt,wenn Sie verwalten möchten, eine Hierarchie von sichten,gehen Sie besser für pushViewController in der navigation-controller. Es funktioniert wie ein Stapel von view-Controller in der navigation-controller. Wenn jedoch die Forderung ist nur zu zeigen, einen Blick auf die Ausführung einiger Maßnahmen auf der übergeordneten view-controller, dann der beste Weg ist, präsentiert es Modal an.
Wenn Sie einen komplexen push pop Logik immer bevorzugen pushViewController.
InformationsquelleAutor der Antwort GhostCode
UINavigationController verwendet werden, wenn Sie wollen, um irgendeine Art von hierarchischen Darstellung Ihrer Daten (dh drill-down). Sie arbeiten mit einem stack von UIViewController-Unterklassen. Jedes mal, wenn Sie "drill-down", fügen Sie einfach eine weitere view-controller auf den stack. Dann den "zurück" - Logik ist einfach eine Frage der knallen view-Controller aus einem Stapel.
Können Sie aus diesem link:
http://www.icodeblog.com/2011/10/11/back-to-basics-an-introduction-to-view-controllers/
InformationsquelleAutor der Antwort prohuutuan