web-dev-qa-db-ja.com

ボタン接続なしでプログラム的にセグエを実行しますか?

ストーリーボードに2つのビューコントローラーがあり、ビュー1からビュー2にプッシュする必要があります。

ストーリーボードのボタンから直接セグエに接続せずにこれを行う必要があります。プログラムで行う必要があります。

どうやって?

ありがとう。

27
Josh Kahane

ボタン呼び出しをクリックすると、次のようになります。

[self performSegueWithIdentifier:@"SegueIdentifier" sender:self];

ストーリーボードでセグエを作成する必要がありますが、ボタンからビューコントローラーではなく、ビューコントローラーからビューコントローラーで作成できます。

69
StuStirling

完全にセグエなし

[self.navigationController pushViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"YourViewControllerIDinStoryBoard"] animated:YES];
1
Boris Gafurov

クリックせずに(またはviewController自体の読み込み中に)アクションを実行する場合は、次のいずれかでこのコードを実行します

- (void)viewDidLoad {
[super viewDidLoad];
[self performSegueWithIdentifier:@"NameOfYourSequeIdentifier" sender:self];
 }

または

-(void)viewDidAppear:(BOOL)animated {
[self performSegueWithIdentifier:@"NameOfYourSequeIdentifier" sender:self];
}
1
Ram Madhavan