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)
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)
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)
}