Как изменить анимацию перехода CurrentViewController
Я использую presentViewController для перехода из представления в другое без навигационного контроллера, например:
let HomeView = self.storyboard!.instantiateViewControllerWithIdentifier("HomeView") as! ViewControllerHome
self.presentViewController(HomeView, animated:true, completion: nil)
Как изменить переход? Я хочу использовать ту же анимацию, что и контроллер навигации.
Я могу использовать другие переходы, но я не нашел переход, который я хочу здесь, - это код, который я использую
let HomeView = self.storyboard!.instantiateViewControllerWithIdentifier("HomeView") as! ViewControllerHome
HomeView.modalTransitionStyle = UIModalTransitionStyle.PartialCurl
self.presentViewController(HomeView, animated:true, completion: nil)
Ответы
Ответ 1
Для тех, кто делает это на iOS8, это то, что я должен был сделать:
У меня есть быстрый файл класса под названием SettingsView.swift и .xib файл с именем SettingsView.xib. Я запускаю это в MasterViewController.swift(или любой диспетчер представлений, чтобы открыть второй контроллер представления)
@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)
}
Ответ 2
Ответ Мехула правильный, но вы также можете сделать это так, как хотите. С помощью instantiateViewController (withIndentifier: string)
Вот как я это делаю:
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)