web-dev-qa-db-ja.com

presentViewController遷移アニメーションを変更する方法

PresentViewControllerを使用して、Navigation Controllerなしでビューから別のビューに変更します。

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

移行を変更する方法は? Navigation Controllerのような同じアニメーションにしたい。

別のトランジションを使用できますが、ここで必要なトランジションが使用しているコードであることがわかりません

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

Mehulの答えは正しいですが、あなたが望むようにそれをすることもできます。 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)  
22
Mar-k

IOS8でこれを行う人にとって、これは私がしなければならなかったことです:

Swift SettingsView.Swiftという名前のクラスファイルとSettingsView.xibという名前の.xibファイルがあります。これをMasterViewController.Swift(または実際に2番目のビューコントローラーを開くために任意のビューコントローラー)を実行します)

@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