セグエの互換性
Xcode は、アプリのターゲットの iOS バージョンに応じて適応し、旧式となったセグエの間で変換します。iOS 8.0 以下のバージョンをターゲットとしたアプリでは、適応するセグエは旧式のセグエに変換されます。サイズクラスがプロジェクトで有効になっているときの iOS バージョン 8.0 以降をターゲットとしたアプリでは、旧式のセグエは適応するセグエにアップグレードされます。
旧式から適応するセグエへの変換
旧式のセグエを使用し、iOS 8.0 以降をターゲットとしたアプリでは、Interface Builder でストーリーボードを開くと以下のようにセグエをアップグレードします:
| アプリのセグエ | 変換されたセグエ |
|---|---|
| モーダル | 現在モーダル |
| ポップオーバー | 現在モーダル(ポップオーバー) |
| プッシュ | |
| 詳細コントローラからマスタコントローラにプッシュ マスタコントローラから詳細コントローラにプッシュ | 変換されず、警告が与えられる |
| 他のすべてのケース | 表示 |
| 置き換え | |
| マスタコントローラをターゲットに | 変換されず、警告が与えられる |
| 詳細コントローラをターゲットに | 詳細の表示 |
適応されるセグエから旧式のセグエに変換
適応するセグエと iOS 8.0 以前をターゲットとしたバージョンのアプリでは、セグエが以下のように変換されます。
| アプリのセグエ | 変換されたセグエ |
|---|---|
| 現在モーダル | モーダル |
| 現在モーダル(ポップオーバー) | ポップオーバー |
| 表示 | |
| ナビゲーションコントローラのない分割ビューコントローラ | 交換 |
| 階層内に上部のナビゲーションコントローラを持つコントローラ | プッシュ |
| 他のすべてのケース | モーダル |
| 詳細の表示 | |
| 以下の条件のすべてに該当する場合: | 交換 |
| 以下の条件のすべてに該当する場合: | プッシュ |
| 他のすべてのケース | モーダル |
関連記事
UISplitViewController の下位互換性