開発メモ

開発関係のメモをいろいろと。たぶん。

プログラムからセグエを利用して画面を遷移させる方法

環境 情報
iOS 7.0
Xcode 5.1
Date 2014/03/23

通常はボタンとかテーブルビューのセルに移動先の画面を登録しておけば、後はストーリーボードがよきに計らってくれますが、これをプログラムから制御したくなる事があります。では、どうすればいいのか?

こういう場合、UIViewControllerのperformSegueWithIdentifierを利用して画面の遷移を行います。

1. 画面と画面を直接、ストーリーボードで接続

移動元の画面のViewControllerから移動先の画面へ、セグエを接続しておきます。

f:id:see_ku:20140324002512p:plain

複数の画面に移動する場合は、それぞれの画面に接続で。

2. Identifierを設定

セグエを選択して、Identifierを設定します。

f:id:see_ku:20140324002527p:plain

地味にこれが重要。設定を忘れたり、文字列を間違えたり・・・

3. Identifierを指定してperformSegueWithIdentifierを実行

セグエに設定したIdentifierを指定して、performSegueWithIdentifierを実行します。

具体的にはこんな感じ。

- (IBAction)moveToGreen:(id)sender
{
    [self performSegueWithIdentifier:@"greenViewCell" sender:nil];
}

簡単ですね。