ios - hero - Cómo cambiar la animación de la transición de presentViewController
transitions swift 4 (2)
La respuesta de Mehul es correcta, pero también puedes hacerlo de la manera que quieras. Con el instantiateViewController (withIndentifier: string)
Así es como lo hago:
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)
Estoy usando presentViewController para cambiar de una vista a otra sin el controlador de navegación como:
let HomeView = self.storyboard!.instantiateViewControllerWithIdentifier("HomeView") as! ViewControllerHome
self.presentViewController(HomeView, animated:true, completion: nil)
¿Cómo cambiar la transición? Quiero la misma animación que el controlador de navegación.
Puedo usar otras transiciones, pero no encuentro la transición que quiero aquí es el código que estoy usando
let HomeView = self.storyboard!.instantiateViewControllerWithIdentifier("HomeView") as! ViewControllerHome
HomeView.modalTransitionStyle = UIModalTransitionStyle.PartialCurl
self.presentViewController(HomeView, animated:true, completion: nil)
Para cualquiera que haga esto en iOS8, esto es lo que tenía que hacer:
Tengo un archivo de clase swift titulado SettingsView.swift y un archivo .xib llamado SettingsView.xib. Ejecuto esto en MasterViewController.swift (o cualquier controlador de vista realmente para abrir un segundo controlador de vista)
@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)
}