終了アイコンを右クリックすると、空のウィンドウが表示されます。Ctrlキーを押しながら、IB要素または対応するソースファイルへの接続をドラッグすることはできません。ドキュメントは愛を与えません。nibファイルには表示されず、ストーリーボードにのみ表示されます。私の推測では、それは推測することの当然の帰結であるが、それをバックアップするための新しい方法は見当たらない。誰でも?
終了アイコンを右クリックすると、空のウィンドウが表示されます。Ctrlキーを押しながら、IB要素または対応するソースファイルへの接続をドラッグすることはできません。ドキュメントは愛を与えません。nibファイルには表示されず、ストーリーボードにのみ表示されます。私の推測では、それは推測することの当然の帰結であるが、それをバックアップするための新しい方法は見当たらない。誰でも?
回答:
WWDCビデオ「Session 407-Adopting Storyboards in your App」には多くの情報があります。
セグエでリンクされた2つのView Controllerがあるとします。最初のビューコントローラに次の終了アクションを実装します。
- (IBAction)done:(UIStoryboardSegue *)segue {
NSLog(@"Popping back to this view controller!");
// reset UI elements etc here
}
次に、2番目のビューコントローラーのストーリーボードシーンで、Ctrlキーを押しながら、ボタンなどのUI要素からこのビューコントローラーの下部にある終了アイコンにドラッグします。done:
あなたが最初のコントローラのコードに追加アクションがオプションとして表示されます。これで、Ctrlキーを押しながらドラッグして終了アイコンにしたボタンをアクティブにすると、最初のビューコントローラーに戻り、元の状態(つまり、テキスト入力などのUI要素はおそらくそのままの状態)を維持します。
Done
ビューAに戻る前に、ビューBのクラスのボタンでアクションメソッドを呼び出すにはどうすればよいですか?
受け入れられた回答を理解するのに苦労したので、ここに詳細を示します。
以下のビューコントローラ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を巻き戻すかを定義します。
Even though the methods are on other view controllers they show up for the ViewController C's exit.