iOS

Swift3 コードでの画面遷移

投稿日:2017年5月1日 更新日:

はじめに

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

ようやく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を組み合わせたものに関しては

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

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

blog-page_footer_336




blog-page_footer_336




-iOS
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

swift

[Swift]いろんなインジケータを提供してくれるNVActivityIndicatorView

1 はじめに2 準備3 実装3.1 ストーリーボードで表示を変更する3.2 コードで表示を変更する4 さいごに はじめに こんにちは、nukkyです。 今回はアプリに欠かせないインジケータをいろんなパ ...

swift

[Swift]UITableViewのセルの入れ替えが簡単に実装できるライブラリ「SwiftReorder」

1 はじめに2 準備3 実装4 さいごに はじめに こんにちは、nukkyです。 今回は、UITableViewでセルを入れ替えたい際に、ドラッグ&ドロップ操作を簡単に実装できるライブラリ「S ...

swift

UITableViewでTableViewCell(Xib)を使ってみた

1 はじめに1.1 前提条件1.2 事前準備2 TableViewを準備3 Xibを準備4 tableviewに表示するcellにxibを指定する5 さいごに はじめに どうも、はじめです。 今回はX ...

swift

[Swift]UIPageViewControllerを使ってみよう!

1 はじめに1.1 前提条件2 UIPageViewControllerとは3 実装3.1 ViewControllerを準備3.2 UIPageViewControllerを準備3.3 最初の画面を ...

[Swift5.5]actorで非同期のデータ競合を回避しよう!

1 はじめに2 actor2.1 actorを使用する際の注意3 さいごに4 おすすめ書籍 はじめに Swift5.5にて非同期に関する追加が行われ、async/awaitについては以前の記事で紹介し ...

フォロー

blog-page_side_responsive

2017年5月
 123456
78910111213
14151617181920
21222324252627
28293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。