Kann mir jemand erklären, was der genaue Unterschied zwischen modal
und push
Segue ist?
Ich weiß, dass, wenn wir push
den Segue verwenden, er zu einem Stapel hinzugefügt wird. Wenn wir ihn also weiter verwenden push
, belegt er weiterhin Speicher?
Kann mir bitte jemand zeigen, wie diese beiden umgesetzt werden?
Modal
Segues können durch einfaches ctrl-clickZiehen und Ziehen zum Ziel erstellt werden, aber wenn ich das mit der push
App mache, stürzt es ab.
Ich drücke von einem Knopf zu einem UINavigationController
, der eine hat UIViewController
.
quelle
Swift 3.0 und XCode 8.2.1 Update
1. Drücken Sie Segue
Push-Segue wurde in Show- Segue umbenannt. Um einen Push-Segue zu erstellen, muss der übergeordnete Ansichts-Controller in den Navigations-Controller eingebettet sein. Der Navigationscontroller bietet eine Navigationsleiste. Sobald Sie zwei Ansichtssteuerungen mit Push-Segue verbinden, wird auf der untergeordneten Ansichtssteuerung automatisch die Navigationsleiste oben angezeigt. Der untergeordnete Ansichts-Controller wird oben auf dem Navigationsstapel hinzugefügt.
Push Segue bietet auch Standardfunktionen. Der untergeordnete Ansichtscontroller verfügt über eine Zurück-Schaltfläche, mit der Sie zum übergeordneten Ansichtscontroller zurückkehren können. Sie können auch nach rechts wischen, um den untergeordneten Ansichts-Controller zu öffnen. Die Animation für Push-Segue ähnelt dem horizontalen Verschieben von Seiten.
Während Sie einen Push-Übergang von einem Ansichts-Controller vornehmen dürfen, der sich nicht in einem Navigations-Controller befindet, verlieren Sie dabei alle Funktionen wie Navigationsleiste, Animation, Geste usw. In diesem Fall sollten Sie Ihren übergeordneten Ansichts-Controller zuerst in den Navigationsansichts-Controller einbetten und dann den Push-Übergang zu den untergeordneten Ansichts-Controllern vornehmen.
2. Modal Segue
Ein modaler Übergang (dh modal vorhanden) wird andererseits über dem aktuellen Ansichts-Controller dargestellt. Der untergeordnete Ansichts-Controller erbt keinen Navigations-Ansichts-Controller, sodass die Navigationsleiste verloren geht, wenn Sie einen modalen Übergang von einem Ansichts-Controller mit Navigations-Ansichts-Controller präsentieren. Sie müssen den untergeordneten Ansichts-Controller erneut in den Navigations-Controller einbetten und einen brandneuen Navigationsstapel starten, wenn Sie ihn zurückhaben möchten. Wenn Sie zum übergeordneten Ansichts-Controller zurückkehren möchten, müssen Sie dies selbst implementieren und
dismiss
aus dem Code aufrufen .Die Animation für den modalen Übergang ist, dass der untergeordnete Ansichts-Controller am unteren Rand der Seite angezeigt wird. Der Navigationsansichts-Controller ist in dieser Demo ebenfalls verschwunden
quelle
Die Push-Ansicht muss in a
navigationController
.Klicken Sie auf Ihre
master view
und wählen Sie in der Menüleiste:quelle
pushView
kann auch OHNE gebaut werdennavigationController
und diese Antwort ist unvollständig!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.
quelle