未経験がswiftでiOSアプリ開発に挑戦する「画面遷移」

Kaichiと申します。

未経験からxcode・swiftでiOSアプリ開発の学習をしています。

学習の記録をアウトプットする記事になります。

今回は「画面遷移」についてアウトプットしていきます。

遷移先のViewControllerを用意

まず遷移先の画面となるViewControllerを用意しなければなりません。 新しくViewControllerを作るには、UIパーツの「ViewController」を選択します。 f:id:kic_jump:20210502001022p:plain

f:id:kic_jump:20210502001159p:plain

新しく配置したViewControllerはもともとあったViewControllerと区別したいので、クラス名で分けましょう。 新しく配置したViewControllerをクリックして、右上から画像の通りのアイコンを選択し、class名を入力するところに「NextViewController」と入力します。そうするとこのViewControllerのクラス名はNextViewControllerとなります。

f:id:kic_jump:20210502002252p:plain

これでViewControllerの区別ができました。

遷移前と遷移先のViewControlerをつなげる

もともとあったViewControllerからアクションを起こして、新しく用意したViewControllerに遷移するようにします。 ViewControllerの上側一番左のアイコンをクリックし、controlを押しながらドラッグ&ドロップでNextViewControllerのビュー上に引っ張ってきます。 f:id:kic_jump:20210502001646p:plain

すると2つのViewの間に矢印が出現します。この矢印をSegue(セグエ)といいます。 f:id:kic_jump:20210502002919p:plain

このSegueもコード上で使えるようにしたいので、SegueにIDをふります。 画像では「next」というIDをふっています。 f:id:kic_jump:20210502003330p:plain

プログラムの記述

最初のViewControllerでボタンを押した時にNextViewControllerに遷移するという処理にしたいので ボタンを用意し、コードに書いていきます。 f:id:kic_jump:20210502004229p:plain

このfunc buttonの中に画面遷移の処理を書いていきます。

画面遷移の処理はperformSegueというものを使って下記のように記述します。

@IBAction func button(_ sender: Any) {
     performSegue(withIdentifier: "next", sender: nil)
 }

withidentiferには先ほど設定したID「next」とします。これによりこのperformSegueの処理は、先ほど設定したnextというIDのSegueを紐づきますよということになります。

これでボタンをタップすると画面遷移できるようになりました。

https://i.gyazo.com/35e0aa8f70453f71b07da217df3ac5ac.gif

画面遷移のやり方は他にも色々あるとのことなので、他のやり方も試してみたいと思います。