Ich verwende UISplitViewController
, mit MasterViewController
und DetailViewController
, ohne UINavigationController
s.
W \ u00e4hlen Sie die Sequenzanimation f \ u00fcr Master- & gt; -Detail aus, die von
ausgelöst wird %Vor% besteht darin, dass DetailViewController
von unten nach oben angezeigt wird.
Wie kann ich diese Animation links zeigen?
Ich musste in letzter Zeit mehr Kontrolle darüber haben, wie die Segues ausgeführt werden, also habe ich meine eigenen Segue-Klassen erstellt, die alle den Übergang in verschiedene Richtungen durchführen. Hier ist eine der Implementierungen:
Swift 2.x
%Vor%Dieser wird einen Übergang von "rechts nach links" haben. Sie können diese Funktion für Ihre Bedürfnisse anpassen, indem Sie einfach die Anfangs- und Endpositionen des Quell- und Zielansicht-Controllers ändern.
Vergessen Sie auch nicht, dass Sie Ihr Segment als "benutzerdefiniertes Segment" markieren und ihm die neue Klasse zuweisen müssen.
UPDATE: Swift 3-Version hinzugefügt
Schnell 3
%Vor% Es klingt so, als ob der neue View-Controller modal präsentiert wird. Wenn Sie den detailViewController in eine UINavigationController
einbetten und den neuen Controller drücken, wird er von rechts nach links animiert und sollte standardmäßig auch eine Zurück-Schaltfläche anzeigen.
Betten Sie Ihre View-Controller in UINavigationControllers ein.
Nach der SplitViewController-Vorlage:
Bei kleineren Geräten muss der NavigationController des Masters verwendet werden.
Außerdem wurde diese Frage hier beantwortet und hier und hier
Weitere Informationen finden Sie im View Controller Programmierhandbuch :
Es gibt zwei Möglichkeiten, einen View-Controller auf dem Bildschirm anzuzeigen: Einbetten in ein Container View Controller oder präsentieren Sie es. Containeransicht-Controller Bereitstellen der primären Navigation einer App ....
In Storyboards ist es nicht so schwierig, etwas in einen Navigationscontroller einzubetten. Klicken Sie auf den View-Controller, den Sie einbetten möchten, und dann auf Editor- & gt; in den Navigationscontroller einbetten.
- Swift 3.0 -
Armins Lösung für Swift 3. Neu - & gt; Datei - & gt; Cocoa Touch Class - & gt; Klasse: ... (Unterklasse: UIStoryboardSegue).
%Vor%Im Storyboard: Markieren Sie Ihr Segment als "benutzerdefiniertes Segment" und weisen Sie ihm die neue Klasse zu.
Hinweis: Wenn Sie ein UIScrollView in Ihrer detailesVC haben, wird dies nicht funktionieren.
Wenn Sie einen Bildschirm mit kompakter Breite haben, wird "Details anzeigen" automatisch auf modaler Übergang zurückgesetzt. So wird Ihr DetailViewController angezeigt vertikal als der modale Standardübergang.
Sie können ein UIViewControllerTransitioningDelegate verwenden, um die Animation eines modalen Abschnitts anzupassen.
Hier ist ein Beispiel, um die horizontale Animation zu erreichen:
1. setze den transitioningDelegate und seine Delegate-Methode
2: ein benutzerdefinierter UIViewControllerAnimatedTransitioning: LeftTransition
%Vor%Tags und Links ios segue swift uinavigationcontroller uisplitviewcontroller