Was ist der Unterschied zwischen Modal und Push-Segue in Storyboards?
-
29-10-2019 - |
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
.
Lösung
A
A
hoffe das hilft.
Andere Tipps
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.
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.
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.
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.
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.
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.
Mit Modal können Sie ohne Verwendung von Storyboards durch Ansichten navigieren.