0

を倍増: Aを - > segue1-> B - > segue2-> C iOSの戻るボタンの動作は:私は3つのビューコントローラ持って戻って

ユーザが "C" であり、 "戻る" ボタンを押してください

、私はBの代わりにAに直接行きたいと思っています。 どうすれば迅速に対応できますか?あなたは popToRootViewControllerAnimated(_ :)を使用することができますナビゲーションコントローラを使用している場合

おかげ

答えて

0

両方のコントローラをモーダルに提示した場合は、AコントローラでdismissViewControllerAnimated(_:completion :)と呼ぶことができます。

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Back" style:UIBarButtonSystemItemDone target:self action:@selector(tapped:)]; 

を、ルートコントローラにポップ:

独自の戻るボタンを作成

-(void)tapped:(UIButton*)sender { 
    [self.navigationController popToRootViewControllerAnimated(NO)]; 
} 
+0

オーバーライドwillMoveToParentViewController FUNC(親:?のUIViewController){self.dismissViewControllerAnimated(真、完了:{}) ; }はCからBを表示しますが、Aは表示しません。 – Fab

+0

willMoveToParentViewControllerは必要ありません。これは、別のコントローラの中に子コントローラを追加するために使用されます。 Aコントローラオブジェクトでpush segue(navigation contorller)またはdismissViewControllerを使用している場合は、単にpopToRootViewControllerを呼び出します。 – stefos

+0

Cの画面で戻るボタンを無効にする必要があります。 C-> Bの代わりにC-> Aを使います – Fab

関連する問題