■はじめに
ボタン押下時の処理などで、ソースコードで画面遷移を実装したいことは多々あります。
その際の画面遷移方法を記載します。
◾️画面遷移
通常の画面遷移の方法を以下に記載します。
※遷移先の画面を「SecondViewController」としています。
// 画面遷移
let createViewController = self.storyboard?.instantiateViewController(withIdentifier: "遷移先のViewControllerのStoryboard ID") as! SecondViewController
self.present(createViewController, animated: true, completion: nil)
◾️画面遷移時のアニメーション指定
通常の画面遷移でアニメーションを指定する方法を以下に記載します。
※遷移先の画面を「SecondViewController」としています。
let createViewController = self.storyboard?.instantiateViewController(withIdentifier: "遷移先のViewControllerのStoryboard ID") as! SecondViewController
/* 四種類のアニメーションのうちのどれかを使用する。(デフォルトは「coverVertical」) */
// 遷移先Viewが下から上にスライドアップする
createViewController.modalTransitionStyle = .coverVertical
// 遷移元Viewがフェードアウトしつつ、遷移先Viewがフェードインする
createViewController.modalTransitionStyle = .crossDissolve
// 遷移元Viewと遷移先Viewが水平方向に裏返しになる
createViewController.modalTransitionStyle = .flipHorizontal
// 遷移元Viewが下からめくれて、遷移先Viewがその下から表示される
createViewController.modalTransitionStyle = .partialCurl
self.present(createViewController, animated: true, completion: nil)
◾️ナビゲーションバーの画面遷移
ナビゲーションバーを使用した画面遷移の方法を以下に記載します。
※遷移先の画面を「SecondViewController」としています。
// NavigationBarでの画面遷移
let createViewController = self.storyboard?.instantiateViewController(withIdentifier: "遷移先のViewControllerのStoryboard ID") as! SecondViewController
navigationController?.pushViewController(createViewController, animated: true)
◾️画面遷移の前の画面への遷移
一つ前の画面に戻る方法を記載します。
// 前の画面に戻る
self.dismiss(animated: true, completion: nil)