2012-07-25 12 views
23

私は私のストーリーボードに2つのビューコントローラを持っており、ビュー1からビュー2にプッシュする必要があります。ボタン接続なしでプログラムでSegueを実行しますか?

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

どうすればいいですか?

ありがとうございました。

答えて

63

ボタン呼び出しクリック:

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

あなたはストーリーボードにセグエを作成する必要がありますが、あなたはViewControllerをするために、コントローラの代わりにボタンを表示するビューコントローラからそれを行うことができます。

+0

のいずれかでこのコードを実行するこのナビゲーションはとても奇妙にするには。アニメーション化されず、宛先ビューもレイアウトに時間がかかります。何か案が? – Envil

+0

これとナビゲーションスタックの違いは何ですか? – Subby

+1

@Subbyナビゲーションコントローラーを使用して、SegueまたはNavigationスタックの次のビューに移動する必要があります。しかしSegueコントローラを使用すると、あなたのストーリーボードに視覚的な配線ができ、各スクリーンのソースとデスティネーションを視覚的に見ることができます。これは、アプリに30〜40の画面がある場合に非常に役立ちます – AsifHabib

1

あなたはクリックせずにアクションを実行したい場合(またはViewControllerを自身のロード中)、

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

または

-(void)viewDidAppear:(BOOL)animated { 
[self performSegueWithIdentifier:@"NameOfYourSequeIdentifier" sender:self]; 
} 
関連する問題