【Swift】遷移時(modalのsegue)のアニメーションをコードで実装

 

解説

 

segueのアニメーションは以下。

  • coverVertical:下から出現
  • crossDisolve:フェードイン
  • flipHorizontal:180度回転する(裏返る)
  • partialCurl:ペラっとめくれる

 

遷移先をインスタンスで取得し、modalTransitionStyleプロパティに上記のいずれかを格納する。

 

ストーリーボード

 

f:id:nekokichi_yos2:20190105202831p:plain


 

 

ソースコード

 

import UIKit

class segueAnimation: UIViewController {
    
    
    @IBAction func animation1(_ sender: Any) {
        transition(.coverVertical)
    }
    
    @IBAction func animation2(_ sender: Any) {
        transition(.crossDissolve)
    }
    
    @IBAction func animation3(_ sender: Any) {
        transition(.flipHorizontal)
    }
    
    @IBAction func animation4(_ sender: Any) {
        transition(.partialCurl)
        
    }
    //遷移
    func transition(_ style:UIModalTransitionStyle) {
        let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
        let vc = storyboard.instantiateViewController(withIdentifier: "transition")
        vc.modalTransitionStyle = style
        self.present(vc, animated: true, completion: nil)
    }

}