2016-04-27 12 views
0

私はfirstViewControllerを、に埋め込まれた新しいsecondViewControllerへのモーダルセグを持つに埋め込んでいます。この新しいコントローラは、バックfirstViewControllerアンワインド・セグエー・グー・バック・トゥーファー

secondViewControllerにアンワインドセグエを行う:

- (void) cancelAction{ 
    [self performSegueWithIdentifier:@"backHoney" sender:self]; 
} 

firstViewController:

- (IBAction)backToHoney:(UIStoryboardSegue *)sender{ 
} 

これは動作しますが、別のviewCが中に埋め込ま場合がありますNavは、firstViewControllerのモーダルセグを持っています。ユーザーがこのviewCからfirstViewControllerに移動してからsecondViewControllerに移動し、最初に戻すと、最初のものではなくviewCに戻ります。

答えて

0

あなたは、unwing segueではなくpopToviewControllerを使用する必要があります。これでナビゲーションスタックの任意のviewControllerに行くことができます。例えば

NSArray *viewArr = [self.navigationController viewControllers]; //returs viewcontroller array 
[self.navigationController popToViewController:[viewArr objectAtIndex:0] animated:YES]; 
//you can pass different index to go to differen VC 

あなたは私のthis answerのためのより多くの詳細を参照することができます。

これが役に立ちます。

+0

私は 'secondNavController'から' firstNavController'に戻す必要があります。データも渡します。これは、同じNavController内のすべてのviewControllerについてナビゲートするためのものではありませんか? @Lion – Peter

+0

デリゲートとプロトコルを使ってデータを渡すことができます。巻き戻しセグを使用することは必須ではありません。 – Lion

関連する問題