もくじ
準備
ViewControllerを設定
ViewControllerを追加して2つ用意します。わかりやすいように背景色をつけています。
そして説明用に画面をA
B
と呼ぶことにします。
エリアの名称についても説明時に使いたいので覚えておきましょう。
ViewControllerのファイル作成
ナビゲータエリアのフォルダで右クリックしてNew File
します。
Cocoa Touch Class
を選び、
NextViewController
と名付けます。
Controllerを割り当てる
ナビゲータエリアでMain.storyboard
を選択するとストーリーボードを確認できます。
Bの上部にあるボックスをクリックするとユーティリティエリアでClass
を設定できるので、先ほど作成したNextViewController
を設定します。
これで準備が整いました。
モーダルを出す
Buttonを設置してドラッグするだけで画面遷移することができます。画面遷移というよりは別の画面を出現させるだけです。プログラミングは不要です。
まずA画面にButton
を設置します。move
ボタンとします。
ボタンをクリックして選択した状態でctrl
を押しながらB画面にドラッグします。(右クリックでドラッグでも可)
選択肢が現れるのでpresent Modally
を選択します。
遷移したことがわかりやすいように、B画面にLabel
をはっておきます。
ビルド(右上の▶︎ボタン)してmove
ボタンを押すと、下からモーダルが出て「成功!」と表示されるはずです。
モーダルの出現方法を変更 - transition -
ボタンをドラッグしてpresent Modally
を設定したときに自動的に付加したセグエを利用します。
セグエをクリックしてユーティリティエリアのtransition
を開きCross Dissolve
を選択します。
シミュレータで確認すると、モーダルの現れ方がさきほどを違うのがわかると思います。
モーダルをフルスクリーンに変更 - presentation -
今度はpresentation
を変更しましょう。
Full Screen
を選択します。
すると、ストーリーボードも表示がかわりましたね。B画面の上部にあったモーダル画面の奥?の黒い部分がなくなってフルスクリーンになりました。
シミュレータで確認すればすぐわかりますが、これではモーダルを出すともう戻れませんね。戻るボタンを設置していきましょう。
ボタンを設置して戻る
Bの画面に戻るボタン設置します。
B画面のどこでもいいのでクリックしてassistantを選択しswiftファイルを開きます。
こんなかんじ。
Buttonを右クリックでNextViewControllerクラス内の最後らへんにドラッグします。
backButtonと名付けます。
backButtonメソッドの中で一行追加するだけで完成です。
dismiss(animated: true, completion: nil)
ビルドして確認してみてください。
初心者がやりがち?!やってはいけない操作
画面遷移した画面で前の画面に戻るボタンをドラッグして連結してしまうことはやめましょう。
単純に画面遷移したいならこの方法でかまいませんが、戻るボタンとしたい場合はご法度だと思っておいてください。