100

終了アイコンを右クリックすると、空のウィンドウが表示されます。IB エレメントまたは対応するソース ファイルへの接続を Ctrl キーを押しながらドラッグすることはできません。ドキュメントは愛を与えません。nib ファイルには表示されず、ストーリーボードのみに表示されます。私の推測では、これはセグエの必然的な結果ですが、それをバックアップする新しい方法は見当たりません。誰?

4

3 に答える 3

222

受け入れられた回答に従うのに苦労したので、ここに詳細があります。

以下のビュー コントローラー C の写真を考えると、セグエ パス内の任意のビュー コントローラーに戻ることができます。

ここに画像の説明を入力

あなたが書くことができるViewController A

- (IBAction)done:(UIStoryboardSegue *)segue {
    // Optional place to read data from closing controller
}

あなたが書くことができるViewController B

- (IBAction)back:(UIStoryboardSegue *)segue {
    // Optional place to read data from closing controller
}

ViewController Cは、 「戻る」ボタンから緑色の終了オプションへのドラッグを制御し、戻るを選択します。 ViewController C 「完了」ボタンから緑色の終了オプションへのドラッグを制御し、完了を選択します ここに画像の説明を入力

注: メソッドは他のビュー コントローラーにありますが、 ViewController Cの終了時に表示されます。コントロールのドラッグとメソッドの選択により、アンワインド先の ViewController が定義されます。

于 2012-11-18T02:59:01.597 に答える
104

WWDC ビデオ「Session 407 - Adopting Storyboards in your App」には多くの情報があります。

セグエでリンクされた 2 つのビュー コントローラーがあるとします。最初のビュー コントローラーで次の終了アクションを実装します。

- (IBAction)done:(UIStoryboardSegue *)segue {
    NSLog(@"Popping back to this view controller!");
    // reset UI elements etc here
}

次に、2 番目のビュー コントローラーの Storyboard シーンで、ボタンなどの UI 要素からこのビュー コントローラーの下部にある終了アイコンまで Ctrl キーを押しながらドラッグします。done:最初のコントローラーのコードに追加したアクションがオプションとして表示されます。これで、Ctrl キーを押しながら終了アイコンにドラッグしたボタンをアクティブにすると、最初のビュー コントローラーに戻り、元の状態が維持されます (つまり、テキスト入力などの UI 要素はそのまま維持されます)。

于 2012-09-25T00:50:15.903 に答える
15

ここでのEricの回答に加えて、 での動作方法は次のとおりです。

宛先コントローラーに追加する関数は次のようになります。

@IBAction func backFromOtherController(segue: UIStoryboardSegue) {
    NSLog("I'm back from other controller!")
}
于 2014-11-11T15:12:26.013 に答える