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

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

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

page_footer_300rect




page_footer_300rect




-iOS

執筆者:


comment

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

CAPTCHA


関連記事

swift

[Swift3] ナビゲーションバーとステータスバーの色変更

1 はじめに1.1 前提条件2 ナビゲーションアイテムの色変更3 ナビゲーションバーの色変更4 ナビゲーションタイトルの色変更5 ステータスバーの色変更6 さいごに はじめに どうも、はじめです。 今 ...

swift

Swiftで絵文字を判定する方法

1 はじめに2 実装2.1 絵文字の判定2.2 UITextFieldで絵文字の排除3 さいごに はじめに こんにちは、nukkyです。 今回はアプリでの文字入力の際に 入力された文字が絵文字かどうか ...

swift

[Swift]ログフレームワーク「CocoaLumberjack」をSwiftで使ってみた

1 はじめに2 準備3 実装3.1 出力先の設定3.2 ログの出力レベルを設定する3.3 ログの出力4 さいごに はじめに こんにちは、nukkyです。 今回はログ管理に便利なライブラリ「CocoaL ...

[初心者向け]Xcodeの使い方(よく使うショートカットキーとエディタ)

1 はじめに1.1 前提条件2 ショートカットキー2.1 コメントアウト2.2 インデント2.3 ファイル内検索2.4 プロジェクト内検索2.5 クリーン2.6 ビルド2.7 ラン3 エディタ3.1 ...

swift

SwiftでPDFを表示する(iOS11以前対応版)

1 はじめに1.1 前提条件2 実装3 さいごに はじめに こんにちは、nukkyです。 SwiftでPDFを表示したい場合iOS11以降ならPDFKitがありますが、自分の様にまだ11以前のOSにも ...

page_side_300rect

Web版MyCoach

私たちはより広い方にコーチングを知ってもらいたいと考えています。
下記のサイトにて、コーチの方々を紹介しておりますので、よろしければご覧ください。

アプリ情報

私たちは、目標を達成したい方を応援する、TODOアプリもリリースしております。
下記のアイコンから無料でダウンロードできます。

リンク

follow us in feedly
2017年5月
« 4月 6月 »
 123456
78910111213
14151617181920
21222324252627
28293031