【Swift】Segueの設定。遷移先画面の登場シーンや重ね方を変更する。(Swift 2.1、XCode 7.2)
Segueの設定
本記事ではSegue(以下、セグエ)のアトリビュートインスペクタの設定項目について説明する。
Identifier
セグエの識別子。ソースコードでセグエにアクセスするときに使用する。次の記事で利用している。⇒「Segueの使い方」
Class
カスタムクラスを使ってセグエに独自の画面遷移を実装するときのカスタムクラスのクラス名。カスタムクラスの作り方については後日記事で説明する。
Module
カスタムクラスがあるモジュールを指定する。モジュールとは、プロジェクトをビルドしたものやフレームワークのことをいう。現在のプロジェクトの中にカスタムクラスを作る場合はデフォルト(プロジェクト名)のままで良い。
Kind
セグエの種類。Size Classesが登場してから選択肢が今までと変わったが機能に変わりはないように見える。
下表はセグエの種類と旧名の一覧。ちなみに、Size Classesを使わない場合の選択肢は旧名のままで、Size Classesを使う場合はDeprecated(非推奨)として選択肢の中に旧名が残っている。
種類 | 旧名 | 概要 | |
---|---|---|---|
1 | Show | Push | 現在のビューを押し出すようにビューが横から現れる。 |
2 | Show Detail | Replace | 2分割されているビューの詳細ビューを置き換える。 |
3 | Present Modally | Modal | 現在のビューの上にビューを重ねる。 |
4 | Present As Popover | Popover | 現在のビューの上にビューをポップアップ表示する。 |
5 | Custom | 変更無し | 画面遷移の動きを自作する。 |
1. Show(旧Push)
Navigation Controllerを使って画面遷移をするときに使われる種類で、画面を行き来するときに現在のビューを押し出すように横からビューが現れる。
2. Show Detail(旧Replace)
Split View Controllerを使ってビューをMasterビューとDetailビューに分割しているときに使われる種類で、MasterビューはそのままにDetailビューが置き換わる。
3. Present Modally(旧Modal)
現在のビューの上にビューを重ねる。これを選択すると、さらにPresentationとTransitionの選択項目が現れる。この2つの項目については別の記事で説明する。⇒「記事」
4. Present As Popover(旧Popover)
iPad用の種類で、現在のビューの上にビューをポップアップ表示する。ポップアップ画面以外をタップするとポップアップ画面が消える。
5. Custom
UIStoryboardSegueを継承したカスタムクラスを作って画面遷移の動きを自作する。これを選択した場合は前述した設定項目「Class」にカスタムクラス名を入力する。
Animation
チェックが入っている場合、遷移先画面の登場シーンがアニメーションになる。チェックを外すと遷移した瞬間に遷移先画面が表示される。
Peek & Pop
チェックを入れると、iOS9で登場した3D Touchを使って遷移先画面のプレビュー画面を表示できるようになる。
3D Touchとは、指が画面を押す力の大きさをiPhoneが検知して、軽く押した場合は遷移先画面を開かずに内容を覗き(Peek)、深く押すと遷移先画面を開いて(Pop)くれる機能である。
⇒「Apple公式サイト 3D Touchの記事」
XCode7.1のシュミレーターでは3D Touchを試してみることができないそうだ。試せるようになるのを楽しみに待とう。
⇒「iOS Developer Libraryの記事」