storyboardとコードの両方を使って、
画面遷移をする方法をメモしておきたいと思いますー。
もくじ
storyboardを開く
Xcodeで、Main.storyboardをクリックします。
View Controller(遷移先の画面)を作る
Xcodeの右上の方にある、「◎(○の中に□)」ボタンをクリック。
すると、オブジェクトの一覧が表示されるので、
View Controllerと書かれたオブジェクトを探します。
今見つけたView Controllerという部分をググッとドラッグして、
すでに配置されている画面(View Controllerと書かれている、白い四角)の右隣あたりに
配置します(ドロップ)。
遷移先の画面に名前をつける
そして、配置したView Controllerに名前をつけます。
名前は、左側のIdentityのStoryboard IDに設定します
(今回は、「secondView」という名前にしました)。
画面遷移用のボタンを作る
次に、画面遷移するためのボタンを配置してみます。
先ほどと同じように、右上にある「◎」ボタンをクリックして、オブジェクト一覧を表示します。
そして今度は「Button」を探して、
元からある画面(View Controller)の上に、ドラッグ&ドロップして、配置します。
画面を分割表示して見やすくする
画面遷移用のコードを書くために、Xcodeの右上の「∞が斜めになったボタン」をクリックします。すると、storyboard の横にコードも表示できるようになります。
そして、storyboardの横にView Controller.swiftのコードが表示されるようにします。
その状態になったら、先ほど配置したButtonを右クリック。
ボタンの処理をコードで書けるように準備する
黒い四角が表示されて、色々なアクションなどが並んでいますが、
その中の「Touch Up Inside」の右側にある◯を、コード上にドラッグ&ドロップします。
(場所は、override func viewDidLoad() の下辺りとか…)
すると、Nameを入力する形になるので、入力します。
(今回は、ClickButtonGoNextという名前にしました)
すると、ViewControllerに自動的に
@IBAction func clickButtonGoNext(_ sender: Any) { } |
と入力されます。
ボタンの処理をコードで書く
新しく追加されたコードの中に、
画面遷移するためのコードを書きます。
(storyboardが横にあると、コードを各場所が狭くなって見づらい時は、
右上の「横線が並んだボタン」をクリック)
追加するコードは、こんな感じにしてみました。
let next = storyboard?.instantiateViewController(withIdentifier: “secondView”) self.present(next!, animated: true, completion: nil) |
1行目で
storyboard上の、「secondView」という名前のViewControllerを準備して、
2行目で
画面遷移します(animated: trueにして、アニメーション有りにしてみました)。
実行
あとは実行して、シミュレータに表示されたButtonをクリックすれば、画面遷移できるはずですー。