24

アンワインド セグエを作成しようとしていますが、Ctrl キーを押しながらドラッグしても何も接続されません。また、終了アイコンを右クリックしても、利用可能なオプションはありません。

ここに画像の説明を入力

何か案は?

4

4 に答える 4

67

タイプ「UIStoryboardSegue *」の引数を取るビューコントローラーで IBAction を定義する必要があります。

このようなもの:

@interface MyViewController
...
- (IBAction)unwindFromConfirmationForm:(UIStoryboardSegue *)segue {
}
...
@end

Swift 3 バージョン

@IBAction func unwindToViewController(segue: UIStoryboardSegue) {

    //code

}

https://stackoverflow.com/a/46199117/250190でDoruChidean提供

于 2012-10-09T04:16:03.803 に答える
19

明確にするために、これをストーリーボードにリンクするには、上記のメソッドを「巻き戻したいビューコントローラー」に追加した後、ボタンまたは「巻き戻したいビューコントローラー」からセグエをドラッグする必要があります下部バーに小さな緑色の「EXIT」アイコンが表示されます。

「- unwindFromConfirmationForm」にリンクするポップアップが表示されるはずです。

それが完了すると、巻き戻しセグエが機能するはずです。


トラビスの優れた点に追加するだけです:完全に明確にするために:

ストーリーボードの実験を始めたばかりで、(a) 新しい iOS7 Xcode プロジェクトを作成し、(b) 1 つのナビゲーション コントローラーを含むストーリー ボードを作成し、(c) 5 つまたは 6 つのビュー コントローラーを作成したとします。アンワインドを使用して、半ダースのビュー コントローラー間を行き来できるようにすることを目指します。{あるボタンから次のボタンへ、Ctrl キーを押しながらドラッグして「進む」ことは簡単です。}

さて、現時点では、6 つのビュー コントローラーすべてが実際に「デフォルト」クラスの "ViewController" になります。Xcode は (やや無意味に) ViewController.h および ViewController.m ファイルを提供することに注意してください。

繰り返しますが、6 つの「単純な例」ビューはすべて、現時点では実際にそのファイル ViewController.m を使用しているだけです。したがって、非常に単純に、これを追加すると:

-(IBAction)unwindUnused:(UIStoryboardSegue *)segue
    {
    NSLog(@"I did an unwind segway! Holy crap!");
    }

その 1 つの「スタブ」ファイル ViewController.m に - 実際、6 つのビューのすべてが「動作」し、悪名高い小さな緑色の「終了」ボタンにドラッグできるようになります。それはとても簡単です。

現在、実際のプロジェクトでは通常 TBC のみであり、デフォルトの「ViewController.m」ファイルを使用することはありません。だから、ここに行きます:

https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/SecondTutorial.html

正確に「カスタムビューコントローラーを作成する」まで見つけてください。もちろん、初心者であれば、そのプロセスを非常に詳細に説明しています。

しかし、ふざけて緑色のボタンをアンワインド用に機能させたい場合は、コード フラグメントを "ViewController.m" スタブ ファイルに入れるだけで済みます。(「実生活」では、カスタム画面のそれぞれにそのようなカスタム呼び出しを入れることを思い出してください-おそらくデータなどを扱います)それが役に立てば幸いです!!

おまけの事実:このようにテストしているときは、「戻る」ボタンがナビゲーションバーに自動的に表示されることに注意してください! (つまり、アンワインド スタブ メソッドを追加しなくても。)

于 2012-10-11T16:14:41.843 に答える
0

xcode6-beta バージョンで作業していますか? ベータ 1-3 では、インターフェイス ビルダーがアンワインド セグエを検出できないバグです。xcode6-beta4 では、このバグは修正されています。

于 2014-07-31T08:19:42.400 に答える