3

ストーリーボードにナビゲーションコントローラーがありますが、1つの理由で、プログラムで1つのセグエを作成する必要がありますが、プログラムでプッシュセグエを作成するにはどうすればよいですか?

これはこれまでの私のコードです:

- (IBAction)nextviewButton:(id)sender {
    HolesViewController *Holes = [self.storyboard instantiateViewControllerWithIdentifier:@"HolesViewController"];
    Holes.nameString = self.NameField.text;

    [self presentViewController:Holes animated:YES completion:nil];
}
4

2 に答える 2

14

または、実際にはストーリーボードでセグエを定義することを好みますが、ボタンから発信するのではなく、ビューコントローラ自体から発信するようにします。例:

セグエを作成する

次に、そのセグエに「ストーリーボードID」、たとえば「詳細」を指定すると、次の方法でプログラムでそのセグエを呼び出すことができます。

[self performSegueWithIdentifier:@"Details" sender: ...]; // you can specify either the button or `self` for the `sender

このようにすると、ストーリーボードがアプリのフローを視覚的に表現し続けるので、私はこれが好きです(おそらく、セグなしでシーンが浮かんでいるのとは対照的です)。また、プッシュセグエとモーダルセグエの両方にまったく同じ構成を使用できます(次のビューコントローラーを表示するビューコントローラーは、ストーリーボードがどちらを使用するかを気にしません)。

于 2013-04-24T02:13:55.247 に答える
4
[self.navigationController pushViewController:Holes animated:YES];

とった

于 2013-03-26T13:32:58.803 に答える