Frage

Kann mir jemand erklären, was der genaue Unterschied zwischen modal und push segue ist?

Ich weiß, dass bei Verwendung von push der Segue zu einem Stapel hinzugefügt wird. Wenn wir also weiterhin push verwenden, belegt er weiterhin Speicher?

Kann mir bitte jemand zeigen, wie diese beiden implementiert sind?

Modal-Segmente können durch einfaches Strg-Klicken und Ziehen zum Ziel erstellt werden. Wenn ich dies jedoch mit dem push mache, stürzt meine App ab.

Ich drücke von einer Schaltfläche zu einem UINavigationController mit einem UIViewController.

War es hilfreich?

Lösung

A Push Segue fügt dem Navigationsstapel einen anderen VC hinzu.Dies setzt voraus, dass VC, der den Push stammt, Teil derselben Navigationssteuerung ist, mit der der VC, der dem Stapel hinzugefügt wird, zu gehört.Das Speichermanagement ist kein Problem mit Navigationscontrollern und einem tiefen Stapel.Solange Sie sich um Objekte kümmern, können Sie möglicherweise von einem VC zum anderen passieren, die Laufzeit kümmert sich um den Navigationsstapel.Siehe das Bild für eine visuelle Anzeige: navstack

A Modal Segue ist nur ein VC, das einen anderen VC modal darstellt.Das VCS muss nicht Teil eines Navigationscontrollers sein, und das in der MODAL-VC, der modal präsentiert wird, wird im Allgemeinen als "Kind" des Präsentiers (Elternteil) VC angesehen.Das modal präsentierte VC ist in der Regel sanft an allen Navigationsleisten oder Tabulatoren.Das Präsentations-VC ist auch dafür verantwortlich, den erstellten und dargestellten Modal VC abzuweisen.

hoffe das hilft.

Andere Tipps

Swift 3.0 und Xcode 8.2.1 Update

1. Push-Segue

Push SEGUE wurde als show umbenannt. Zum Erstellen von Push-Segue muss der übergeordnete Ansichtscontroller in den Navigationscontroller eingebettet sein. Der Navigationscontroller bietet Navigationsleiste. Wenn Sie zwei Ansichtscontroller mit Push-Segue anschließen, hat der Controller der untergeordneten Ansichtssteuerung automatisch die Navigationsleiste. Der untergeordnete Ansichtscontroller wird auf dem Navigationsstapel hinzugefügt.

 Eingabetaste hier eingeben

Push SEGUE bietet auch Standardfunktionen. Der untergeordnete Ansichtscontroller verfügt über eine Zurück-Taste, die Sie zum Parent View Controller zurückbringt. Sie können auch rechts streichen, um den Controller von Child View Controller aufzurufen. Die Animation für Push SEGUE ist wie Gleitseiten horizontal.

 Eingabetaste hier eingeben

Während Sie ein Push-Segue von einem Ansichtscontroller erstellen dürfen, der sich nicht in einem Navigationscontroller befindet, verlieren Sie alle Funktionen wie Navigationsleiste, Animation, Geste usw., wenn Sie dies tun. In diesem Fall sollten Sie Ihren übergeordneten View-Controller in den Navigationsansicht-Controller zuerst einbetten, und erstellen Sie dann die Push-Segue an Kinderansicht-Controller.

 Eingabetaste hier eingeben

2. Modal-Segue

Ein modales Segue (d.h., das modal präsent ist), dagegen ist dagegen über den aktuellen Ansichtsregler. Der untergeordnete Ansichtscontroller erbt nicht den Navigationsansicht-Controller, sodass die Navigationsleiste verloren geht, wenn Sie Modal-Segue von einem Ansichtscontroller mit Navigationsansicht-Controller präsentieren. Sie müssen den untergeordneten Ansichtscontroller erneut in den Navigationscontroller einbetten und einen brandneuen Navigationsstapel starten, wenn Sie es wieder möchten. Wenn Sie sich wieder den Parent-View-Controller zurücksetzen möchten, müssen Sie dies selbst umsetzen und den generationspflichtigen Code von Code aufrufen.

 Eingabetaste hier eingeben

Animation für Modal SEGUE ist, dass der untergeordnete Ansichtscontroller von unten auf der Seite angezeigt wird. Der Navigationsansicht-Controller ist auch in dieser Demo weg.

 Eingabetaste hier eingeben

Die Push-Ansicht muss in einem navigationController erstellt werden.

Klicken Sie auf Ihren master view und wählen Sie dann in der Menüleiste:

EDITOR->embed in->navigationController

Hiermit werden Steuerelemente mithilfe benutzerdefinierter Push- und Segue-Methoden für das Storyboard verschoben. Story Board

Mit Modal können Sie ohne Verwendung von Storyboards durch Ansichten navigieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top