web-dev-qa-db-ja.com

セグエを実行する方法

別のビューを表示するボタンを実装したいと思います。 Storyboardで宛先ViewControllerを定義し、(Pushタイプの)セグエを作成して識別子を付けました。

私のルートビューコントローラー

いくつかの方法...

        UIButton *btn = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
        [btn addTarget:self action:@selector(showDetailView:) forControlEvents:UIControlEventTouchUpInside];

そして

- (IBAction)showDetailView:(id)sender {
    [self performSegueWithIdentifier:@"ShowDetail" sender:sender];
}

しかし、それは何もしません。セグエが対象だそうです。ルートビューコントローラークラスでそれを参照/合成する必要がありますか?任意のヒントをいただければ幸いです。ありがとうございました。

20
chizzle

編集:
ルートビューコントローラがナビゲーションコントローラに組み込まれていることを確認してください。そうでない場合は、ストーリーボードデザイナでビューコントローラを選択し、メニューから[エディタ]-> [組み込み]-> [ナビゲーションコントローラ]を選択します。

元の:
識別子(ストーリーボードコード)を再確認し、senderselfに設定してみてください。それが機能しない場合は、コードでSegueオブジェクトを自分で作成できます。

30
Martin Ullrich