iOS

Swift3 コードでの画面遷移

投稿日:

はじめに

こんにちは、はじめです。

ようやくswift3のコードを書きながらの勉強を開始しました。

まだまだかなりの初心者なので最近学んだコードでの画面遷移の書き方を復習もかねて

記事にしてみようと思います。

 

環境

・Swift 3.1

・Xcode 8.3.2

 

performSegue

事前準備

まずは下の画像のように2つのViewControllerを用意します。

 

1.ViewControllerのファイル名、class名を「FirstViewController」に変更

2.storyboardにてViewControllerSceneのCustomClassに「FirstViewController」を設定

3.SecondViewController.swiftファイルを作成し、FirstViewController.swiftの中身をコピペ

4.SecondViewController.swiftのclass名を「SecondViewController」に変更

5.storyboardにViewControllerを追加して、CustomClassnに「SecondViewController」を設定

6.遷移したことがわかるようにSecondViewControllerにLabelを追加し、「SecondView」と記述しておく

 

遷移先を示すSegueを作成

FirstViewControllerからSecondViewControllerへのSegueを作成し、
identifierに「toSecondViewSegue」と登録

 

遷移させるイベントを作成

1.FirstViewControllerにButtonを追加しテキストを「NEXT PAGE」に変更
2.controlを押しながら、buttonからFirstViewController.swiftにドラッグ&ドロップ
3.tapNextPageButtonというactionメソッドを作成

 

画面遷移させる

tapNextPageButton()に以下を記述

 

以上で「NEXT PAGE」のボタンを押すとSecondViewに遷移させることができます。

 

prepare

事前準備

次に遷移先に何か値を渡す方法としてprepareを使って見たいと思います。

事前準備としてはperformSegueの時と同様なので省略します。

 

画面遷移を作成

1.FirstViewControllerにbuttonを追加

2.追加したbuttonからSecondViewControllerへのsegueを作成

3.作成したSegueのidentifierに「toSecondViewSegue」と登録

 

遷移先に値を受け取る入れ物を用意

1.遷移元から渡される値を受け取るためSecondViewControllerのclass内に以下を追加

2.SecondViewControllerにあるLabelを「myLabel」という名前でoutlet接続する

3.値を受け取っていることがわかるように以下のようにする

 

画面遷移 + 遷移先に値を渡す

FirstViewControllerに以下を追加

 

上のコードで

1.画面遷移が行われる前にsegueのidentifierが”toSecondViewSegue”かどうかを確認

2.”toSecondViewSegue”だった場合SecondViewControllerのlabelTextに”次の画面です”と定義

という流れで処理を行った後に画面遷移が行われます。

 

さいごに

performSegueとprepareを組み合わせたものに関しては

もう少し理解を深めた上で書いた方が良いと思いましたので次回また記述してみようと思いました。

ピッカービューもまだ使用したことがないので、今後記事にしてみようと思っております。

age_footer_300rect




age_footer_300rect




-iOS

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

SwiftでTTTAttributedLabelの文字列からリンク表示

1 はじめに2 TTTAttributedLabelとは3 CocoaPodsでインストール4 実装4.1 Labelの表示4.2 タップの検知5 さいごに はじめに こんにちは。 はじめましてnuk …

Swift3でMapKitの吹き出し(Callout)タップを取得したい!

1 はじめに2 MapKitでの吹き出しタップ3 吹き出しのみタップしたい!4 さいごに はじめに こんにちは、nukkyです。 今回、iOSのMapKitでGoogleMapのように 吹き出しのタッ …

SwiftでS3への画像アップロード

1 はじめに2 AWS上での事前準備3 CocoaPodsでAWS SDKをインストールをする4 認証の設定をする5 UIImageを保存して、URLを取得する6 S3へアップロードする7 さいごに …

Swift3で動的にUIViewを切り替える Part2

1 はじめに1.1 前提条件2 完成イメージ3 StoryBoardの準備3.1 Viewの配置3.1.1 ① Segmentを配置するView3.1.2 ② ContainerViewを表示するVi …

Swiftでのパーミッション取得を簡単に

1 はじめに2 準備3 実装3.1 とりあえず表示3.2 カスタマイズ4 さいごに はじめに こんにちは、nukkyです。 今回は、アプリにはつきもののユーザへのパーミッションの確認を 簡単に行えるラ …

page_side_300rect






follow us in feedly

2017年5月
« 4月   6月 »
 123456
78910111213
14151617181920
21222324252627
28293031