[iPhone] Segueで画面遷移させる

アプリでA画面からB画面に遷移したいケースは結構あります。コードで記述せざる得ない場合もありますが、StoryboardでSceneを作っているならばSegueで簡単にできます。
 

Swift 5.1
Xcode 11.4

 

Segue 画面遷移

 
Segueを簡単に使ってみます。試す内容は以下の2つ
– Segueによる画面遷移
– 画面遷移に合わせてメッセージを送る

また、手順としては

 

遷移先の ViewController を作成

 
Single Application を作成
Storyboard に新しく View Controller を作ります

画面遷移をトリガーするためのButtonを置きます。

 

ButtonとView ControllerをSegueで接続

 
Buttonを右クリックしてactionの+をつかんで遷移先の View Controller に持っていき離します。すると選択肢が現れるので Present Modally を選びます。
 

 
それぞれの選択肢の意味合いは

  • Show
    UINavigationControllerの画面遷移で画面間に関連性があり「次」「戻る」などに使う。
  • Show detail
    UISplitViewControllerのケースで、Master viewとDetail viewの画面遷移を表示
  • Present modally
    現在のviewの上に覆いかぶさるように新しいviewを表示
  • Present As Popover
    現在の画面の上にポップアップviewを表示

2つの View Controllerの間に Storyboard Segue が現れます。
 

 
実は画面遷移だけであれば、このボタンタップのみで行えます。但しデータを遷移先に送るには次の設定が必要になります。

 

新しい ViewControllerクラス を作成

 
Segue を選択し、Identifier を「toViewController2」とします。
 

 
遷移元のView Controller SceneはViewController.swiftでコーディングできますが、新しく作成したView Controller Sceneはswiftファイルが無いのでこれも新しく作ります。

プロジェクトを選択し右クリックで「New File」を選びます。
 
スクリーンショット 2016-01-25 20.10.56
 
swiftファイルの作成は色々ありますがある程度設定されているもの選ぶと
iOS -> Source->Cocoa Touch Class を選択
 
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-09-19-22-00-37
 
Subclass は UIViewController とし、新しいクラス名を ViewController2 と入力
LanguageはSwiftです
 
スクリーンショット 2016-01-25 20.12.56
 
ViewController2 のファイルが出来上がる
これを適当にViewController.swiftの下あたりに移動

スクリーンショット 2016-01-25 20.13.45
 
Storyboardで新しく作った View Controller を選択して、Custom Class からこの ViewController2 を選んで関連付けします
 

 

Buttonがタップされ遷移先に文字を送るコーディング

 
– 遷移先のView Controller Sceneに遷移元の文字を受け取り表示させるためのLabelを置きます。
– 遷移元に戻るButtonを作り、Present Modallyで結びます。
– 遷移がわかりやすいように背景色を設定しておきます。
 

 
ボタンタップに合わせてSegueのIDを指定してperformSegueを設定します。

 
prepareで遷移先にあるString変数に文字をセットします。

まとめると
ViewController.swift

遷移先
ViewController2.swift

 
Storyboardのボタンとラベルをコードと紐づけします。
ViewController2に配置したButtonは戻るだけなのでIDはつけなくても遷移できます。

 

Build 実行

 
Buildして実行、タップすると画面遷移して”to VC2″が表示されれば成功です。
 

 
 
Reference:
Using Segues – Apple Developer

一人でアプリ開発の限界を感じたら

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンライン・スクールがいいと思います。


TECH ACADEMY
自宅にいながら1時間でプログラミング基礎を習得

こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。


侍エンジニア塾
侍エンジニア塾 無料体験レッスン



とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


CodeCamp
~約20,000名の受講生と300社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp




直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。


Play Ground
本業と並行してやるには月額制なのがありがたいです。


無料で転職まで
これはiOSアプリ限定ではありませんが無料です
その代わり就職することを前提にしたスクールで「エンジニアになって職を得たい」のであれば手っ取り早いかもしれません

受講料無料:社会人転職コース


誤字脱字、意味不明などのご意見は 謙: e-mail まで
ブックマークしておくと便利です このエントリーをはてなブックマークに追加
Twitter:


シェアする

  • このエントリーをはてなブックマークに追加

フォローする