1

ストーリーボードを使用して Xcode でプロジェクトを作成しました。クリック アンド ドラッグ方式を使用して、2 つのビュー コントローラーの間にボタンを配置したセグエを作成しました。ただし、セグエが発生するために満たされたい特定の条件があります。そのため、ボタンを IB アクションとしてコーディングし、実装ファイルに条件付きコードを記述しました。条件が満たされない場合、警告ビューがポップアップ表示され、セグエが発生しないようにします。しかし、条件が満たされている場合は、セグエが発生することを望んでいます。

IBアクション関数内でセグエが発生するか発生しないようにプログラムで命令する方法はありますか? または、同じ種類の結果を得る他の方法はありますか?

ありがとう!どんな助けでも大歓迎です!

4

2 に答える 2

1

私は誰かが投稿したこれに対する素晴らしい解決策を見つけました...元のViewControllerのステータスバーから発生するセグエを作成し、それに識別子を与えてから、アクションボタン内にこのコードを追加します:

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

よく働く!

于 2012-10-13T01:42:22.383 に答える
0

カスタム セグエを作成するには、UIStoryboardSegue をサブクラス化し、属性インスペクターでクラス名と共にセグエ スタイルを「カスタム」に設定します。次に、セグエを実行する前に条件が満たされているかどうかを確認するために、Perform メソッドをオーバーライドできます。例えば

- (void) perform {
    if (...) {
        [[self sourceViewController] presentModalViewController:[self destinationViewController] animated:YES];
    }
}

ドキュメントhttp://developer.apple.com/library/IOs/#featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomSegues/CreatingCustomSegues.htmlも参照してください。

または、条件が満たされない限り、ボタンを無効にすることもできます。ボタンを押した後に否定的なフィードバックを得る代わりに、セグエが発生しないことをユーザーが視覚的に示すため、おそらくそれがより良いアプローチです。

于 2012-09-29T16:01:04.767 に答える