はじめに
複数回画面遷移した後に、いくつか前の画面に一気に戻りたい場面があったので
その方法を調べてみました。
Swiftで遷移元のViewControllerに戻る方法は主に3つあります。
関数名 | 実行結果 |
popViewController(animated: Bool) | 1つ前のViewControllerに戻る |
popToViewController(animated: Bool) | 指定した数字分前のViewControllerに戻る |
popToRootViewController(animated: Bool) | 1番最初のViewControllerに戻る |
それぞれについて詳しい使い方をみていきましょう。
1つ前のViewControllerに戻る
使う関数は、「popViewController」です。
1つ前の遷移元に戻るときに使うので、1番よく使うと思います。
<書き方の例>
navigationController?.popViewController(animated: true)
<実行結果の例>
指定した数字分前のViewControllerに戻る
使う関数は、「popToViewController」です。
<書き方の例>
let targetVC = navigationController?.viewControllers[1] ?? UIViewController()
navigationController?.popToViewController(targetVC, animated: true)
1行目のviewControllers[1]の[]の中に戻りたいViewControllerの数を入れます。
ここで注意したいのが、「RootViewControllerから数えて何番目か」の数字だと言うことです。1番最初のViewControllerのindexが0だとして、2番目に遷移したViewControllerのindexは1となります。
<数字に1を指定したときの実行結果>
1番最初のViewControllerに戻る
使用する関数は、「popToRootViewController」です。
複数回画面遷移をした後に、1番最初の画面に遷移するときに使用します。
<書き方の例>
navigationController?.popToRootViewController(animated: true)
<実行結果>
ABOUT ME
株式会社Playgroundのサービス
- 無料・簡単・片手でホームページを作成できる自社サービス Rakwi
- Web制作とアプリ開発を学べるオンラインプログラミング講座 Upstairs
- 開発,DX推進支援サービス スタートアッププラン