Aに基づいてモーダルビューBを提示し、Bに基づいてモーダルビューCを提示すると仮定します。
B と C の両方を却下して、直接 A に戻る方法はありますか?
Aに基づいてモーダルビューBを提示し、Bに基づいてモーダルビューCを提示すると仮定します。
B と C の両方を却下して、直接 A に戻る方法はありますか?
XCode4.5 でストーリーボードを使用すると仮定すると、新しいアンワインド セグエを使用できます。埋め込む
-(IBAction)back:(UIStoryboardSegue*)segue
(関数定義を空のままにしておくことができます。) 次に、C のコントローラーで、新しい終了アイコンを右クリックし、巻き戻しを開始するコントロールに新しいエントリを接続します。
はい、解決策があります。おそらく少し汚れていますが、回避できます
UIViewController* vc = self;
while (vc) {
UIViewController* temp = vc.presentingViewController;
if (!temp.presentedViewController) {
[vc dismissViewControllerAnimated:YES completion:^{}];
break;
}
vc = temp;
}
スタック内のモデル コントローラーのいずれかからこれを呼び出すことができます。それらはすべて破棄されます。2番目のものを探して、それを却下します。
はい、[B disconnectModalViewControllerAnimated:YES] を呼び出すことができます。
もちろん、C が B から提示された場合、それも却下されます。
そして、ここに相対的な質問があり、完全な回答が含まれています。 iPhone - 複数の ViewController を閉じる