storyboardコードの両方を使って、
画面遷移をする方法をメモしておきたいと思いますー。

storyboardを開く

Xcodeで、Main.storyboardをクリックします。

View Controller(遷移先の画面)を作る

Xcodeの右上の方にある、「◎(○の中に□)」ボタンをクリック。
すると、オブジェクトの一覧が表示されるので、
View Controllerと書かれたオブジェクトを探します。

オブジェクト一覧に、View Controllerがあったよ

今見つけたView Controllerという部分をググッとドラッグして、
すでに配置されている画面(View Controllerと書かれている、白い四角)の右隣あたりに
配置します(ドロップ)。

遷移先の画面に名前をつける

そして、配置したView Controllerに名前をつけます。
名前は、左側のIdentityのStoryboard IDに設定します
(今回は、「secondView」という名前にしました)。

画面遷移用のボタンを作る

次に、画面遷移するためのボタンを配置してみます。
先ほどと同じように、右上にある「◎」ボタンをクリックして、オブジェクト一覧を表示します。
そして今度は「Button」を探して、

オブジェクト一覧の中の、Button

元からある画面(View Controller)の上に、ドラッグ&ドロップして、配置します。

Buttonを置いてみました

画面を分割表示して見やすくする

画面遷移用のコードを書くために、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をクリックすれば、画面遷移できるはずですー。

スポンサーリンク