技術ブログ

プログラミング、IT関連の記事中心

ソースコードで画面遷移【Swift】

■はじめに

ボタン押下時の処理などで、ソースコードで画面遷移を実装したいことは多々あります。
その際の画面遷移方法を記載します。

◾️画面遷移

通常の画面遷移の方法を以下に記載します。
※遷移先の画面を「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)