Wednesday, February 27, 2013

プログラムからセグエを実行する

セグエで画面を移動したいけど、移動する前に何か処理をしたいというときありますよね?
そんなときに役立つコードからセグエを実行する方法を紹介します。

いつものように動画の後に、説明文です。




<Interface Builder>
1. 送りたい画面へstory boardからセグエを結びつけます
2. 1で作ったセグエにidentifierに適当な名前をいれます(動画を見ていただけるとわかりやすいと思います)

<mファイル(送る側)>
3. セグエを実行したいタイミングで以下のコードを書きます

[self performSegueWithIdentifier: @"your segue id" sender: self];

以上で実行されます
以下は今回のタイトルとは無関係ですが、セグエを実行すると同時にpropertyもセットしたいときにどうすればいいのかの紹介です(動画でも紹介しています)

<送った先のview controllerのpropertyをセットしたいとき>
1. セグエで到達する側のview controller.hファイルをセグエを実行するmファイルでimportします
2. 以下のプログラムを書きます
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if([segue.identifier isEqualToString:@"your segue id"]){
        secondViewController *third = segue.destinationViewController;
        third.a = 3;
    }
}

*3行目でsecondViewControllerの変数を作っていますが、ここは自分の移動したいViewControllerに変更してください
*4行目の".a"はaがpropertyの変数名になります。なので、sampleというproperty変数を持っているときは、".sample"と書くことでその変数の値を決められます。

以上がプログラムからセグエを実行する方法の紹介でした!

No comments:

Post a Comment