よく忘れるのでメモとしてまとめる
Storybordだけで画面遷移
シンプルな画面遷移。
ボタンと次に表示するViewControllerをsegueで繋げるだけで完了
コードから画面遷移
画面遷移したいタイミングで下記のコードを追加する
let storyboard = self.storyboard!
let nextView = storyboard.instantiateViewController(withIdentifier: "viewcontroller2")
self.present(nextView, animated: true, completion: nil)
withIdentifierにはViewControllerのIdentifyで設定した名前を書く
NavigationControllerで画面遷移
NavigationControllerを下記の手順で追加する
Editor → Embed In → NavigationController
追加したらStoryBoardだけで画面遷移で書いたのと同じようにsegueでViewController同士をつなげれば完了
NavigationControllerを使ってコードで画面遷移
方法1 performSegueを使う
①遷移元のViewControllerの黄色のボタンから遷移先のViewControllerへドラッグ&ドロップしてsegueで繋げる
②segueを選択し、Identifierを設定する
③画面遷移させたいときに下記のコードを追加する
performSegue(withIdentifier: "Test", sender: nil)
この方法は遷移するViewControllerが2個程度と少ない場合に使っている
方法2 PushViewControllerを使う
let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "Test") as! SecoundViewController
self.navigationController?.pushViewController(secondViewController, animated: true)
Testの箇所には遷移先のStoryboardIdに設定した値を入力
SecoundViewControllerは遷移先Storybordに設定したViewControlerを書く
ちなみに、コードで戻る時は下記のコードでできる
_ = navigationController?.popViewController(animated: false)
この方法はnavigationControllerを配列にして管理することができるので
一気に2個戻るというようなことも簡単です。
他にも画面遷移する方法はたくさんありますが、自分がよく使うものをメモとして残しておきます。