Wie man Segue animation Horizontal ohne UINavigationController?
Ich bin mit einem UISplitViewController
mit MasterViewController
und DetailViewController
ohne UINavigationController
s.
Aktuell die segue animation für master->detail, ausgelöst durch
performSegueWithIdentifier("showDetail", sender: self)
besteht in der DetailViewController
zeigt sich von unten nach oben.
Wie mache ich diese animation zeigt nach Links-Stationen?
- Hinzufügen Sie können einen screenshot von Ihrem storyboard und das code-snippet, das Sie verwenden, um call
performSegueWithIdentifier("showDetail", sender: self)
?
InformationsquelleAutor Daniele B | 2015-11-20
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe mir vor kurzem gebraucht haben mehr Kontrolle darüber, wie das leitet über durchgeführt werden, so dass ich meine custom segue-Klassen, die alle durchführen, die den übergang in verschiedene Richtungen. Hier ist einer der Implementierungen:
Swift 2.x
Diese haben ein "rechts nach Links" übergang. Sie können ändern Sie diese Funktion für Ihre Bedürfnisse, indem einfach die anfangs-und Ende-Positionen von Quelle und Ziel-view-controller.
Vergessen Sie auch nicht, dass Sie brauchen, um markieren Sie Ihre segue als "custom segue", und weisen Sie die neue Klasse zu.
UPDATE: Hinzugefügt Swift 3-version
Swift 3
self.dismiss(animated: true, completion: nil)
funktioniert für mich vorself.dismiss(animated: true, completion: nil)
scheint nicht zu funktionieren?--Swift 3.0--
Armin ' s angepasste Lösung für swift 3.
Neu -> Datei -> Cocoa Touch Class aus -> Klasse: ... (Unterklasse: UIStoryboardSegue).
In storyboard: markieren Sie Ihre segue als "custom segue", und weisen Sie die neue Klasse zu.
Hinweis: Wenn Sie eine UIScrollView in Ihrem detailesVC, das funktioniert nicht.
self.dismiss(animated: true, completion: nil)
funktioniert für mich vorKlingt es so, als wenn der neue view-controller präsentiert Modal. Wenn Sie das einbetten der detailViewController in eine
UINavigationController
und schieben Sie den neuen controller wird es animiert von rechts nach Links und sollte zeigen, ein zurück-button auch standardmäßig.Einbetten, die Ihre view-Controller in UINavigationControllers.
Pro der SplitViewController Vorlage:
Auf kleineren Geräten ist es gehen zu müssen, verwenden Sie die Master-navigationController.
Des weiteren wird diese Frage beantwortet wurde hier und hier und hier
Mehr von der View Controller Programming Guide:
In storyboards schwierig ist das nicht, zum einbetten von etwas in einem navigation controller. Klicken Sie auf die Ansicht-controller, den Sie einbinden möchten, dann Editor->embed-in->Navigations-controller.
Wenn Sie haben eine kompakte Breite Bildschirm,"Show Detail" segue zurückgreifen, um modal segue automatisch.So Ihr DetailViewController erscheint vertikal als Standard-modal-segue.
Können Sie eine UIViewControllerTransitioningDelegate, benutzerdefinierte animation von einem modal-segue.
Hier ist ein Beispiel zum erreichen der horizontalen animation:
1. legen Sie die transitioningDelegate und es ist delegate-Methode
2: eine benutzerdefinierte UIViewControllerAnimatedTransitioning : LeftTransition