web-dev-qa-db-fra.com

Comment changer l'animation de transition de PresentViewController

J'utilise presentViewController pour passer d'une vue à une autre sans contrôleur de navigation comme:

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

Comment changer la transition? Je veux la même animation que le contrôleur de navigation.

Je peux utiliser d'autres transitions, mais je ne trouve pas la transition que je veux ici, c'est le code que j'utilise

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

La réponse de Mehul est correcte mais vous pouvez également le faire comme vous le souhaitez. Avec l'instantiateViewController (withIndentifier: string)

Voici comment je le fais:

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)  
22
Mar-k

Pour quiconque fait cela sur iOS8, voici ce que je devais faire:

J'ai un Swift intitulé SettingsView.Swift et un fichier .xib nommé SettingsView.xib. Je l'exécute dans MasterViewController.Swift (ou n'importe quel contrôleur de vue vraiment pour ouvrir un deuxième contrôleur de vue)

@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)
    }
12
Mehul