2015-08-17 17 views
10

ich presentViewController bin mit einer Ansicht zu einer anderen zu wechseln, ohne Navigation Controller wie:Wie presentViewController Transition Animation ändern

let HomeView = self.storyboard!.instantiateViewControllerWithIdentifier("HomeView") as! ViewControllerHome 
self.presentViewController(HomeView, animated:true, completion: nil) 

, wie der Übergang zu ändern? Ich möchte die gleiche Animation wie der Navigationscontroller.

ich weitere Übergänge verwenden, aber ich finde nicht den Übergang ich hier wollen, ist der Code, den ich

let HomeView = self.storyboard!.instantiateViewControllerWithIdentifier("HomeView") as! ViewControllerHome 
HomeView.modalTransitionStyle = UIModalTransitionStyle.PartialCurl 
self.presentViewController(HomeView, animated:true, completion: nil) 
+0

Seine obwohl hier sehr gut, ziemlich alte Frage beantwortet. : http://stackoverflow.com/questions/5004102/is-there-a-way-to-change-the-animation-style-of-a-modal-view-controller-appearan – lazyDroid

+0

@lazyDroid danke, Ich habe es geschafft, den Code zum Beitrag hinzuzufügen, ich kann die Animation ändern, aber ich finde die gewünschte Animation nicht –

+0

Verwenden Sie einen Navigationscontroller. Sie können alle Sachen entfernen, die Sie nicht wollen und die Animation erhalten. –

Antwort

9

Für alle, tun dies auf iOS8 bin mit, das ist, was ich zu tun hatte:

Ich habe eine schnelle Klassendatei mit dem Titel SettingsView.swift und eine .xib-Datei namens SettingsView.xib. Ich laufe dies in MasterViewController.swift (oder ein View-Controller wirklich einen zweiten View-Controller zu öffnen)

@IBAction func openSettings(sender: AnyObject) { 
     var mySettings: SettingsView = SettingsView(nibName: "SettingsView", bundle: nil) /<--- Notice this "nibName" 
     var modalStyle: UIModalTransitionStyle = UIModalTransitionStyle.CoverVertical 
     mySettings.modalTransitionStyle = modalStyle 
     self.presentViewController(mySettings, animated: true, completion: nil) 
    } 
+0

Perfekte Antwort .. – Mehul

+0

Diese Sammlung von Animationen von Apple zur Verfügung gestellt ist lächerlich. Es bietet überwältigende und kaum praktische Dinge wie PartialCurl, aber vermisse grundlegende Dinge wie CoverHorizontal. – modiX

+0

ja, ich stimme dir zu. es sollte verfügbar sein. – Mehul

7

Die Antwort von Mehul korrekt ist, aber Sie können es auch tun, wie Sie sie möchten. Mit dem instantiateViewController (withIndentifier: string)

Dies ist, wie ich es tun:

let destController = self.storyboard?.instantiateViewController(withIdentifier: "") as! YourViewController 
destController.modalTransitionStyle = .flipHorizontal 
self.navigationController?.present(destController, animated: true, completion: nil) // OR 

let destController = self.storyboard?.instantiateViewController(withIdentifier: "") as! YourViewController 
destController.modalTransitionStyle = .flipHorizontal 
self.present(destController, animated: true, completion: nil) 
Verwandte Themen