2016-11-17 20 views
0

ボタンを表示するView Controller付きナビゲーションコントローラがあります。ボタンは、戻るボタン付きの上部ナビゲーションバーを自動的に追加するプッシュセグを使用して別のView Controllerにリンクされています。5つのView Controller(表示時)5 View Controller 3 Close View Controller Previous?最後のView Controllerの3つのView Controllerの近接度

例:あなたはNAV stackB-C-D View Controllerを削除することはできませんABCDE表示ビューコントローラE CLOSE BCD

+0

それが正常に動作します。手作業であなたの要求に直接Eを押してください – Vinodh

+0

@Kavos Khajavi私はあなたが望むことを知っています。まず、 'Navigation controller'の' viewControllers'がメモリ内の 'stack'であることを認識して、' BCD'を取り除くことはできません。 Eから 'A 'にポップすると、' E'から 'A 'に' storyboard'を巻き戻すか、 'A'に等しいなら' navigation controllers'を、次にプログラム的に 'pop' – aircraft

答えて

1

あなたの要求のための簡単な例は、このようなものです:

you can use storyboard to do your requirement

AViewController.swift

@IBAction func unwindToAVCFromEVC (segue: UIStoryboardSegue) { 

    if let e_vc: EViewController = segue.source as? EViewController { 

     print("to a_vc from e_vc") 
    } 
} 

storyboardでは、backToAボタンをexitにドラッグ&ドロップするだけでunwindToAVCFromEVCを選択すると、AViewControllerに戻ることができます。

ご希望の場合はこちらをご覧ください。

-2

私はこのコードをチェックして、これはセグエでは不可能です:)

NSMutableArray* viewControllers = [[NSMutableArray alloc] init]; 

//popup the last 3 screens. 

for(int i = 0 ; i < [self.navigationController.viewControllers count] - 3 ; i++){ 

[viewControllers addObject:self.navigationController.viewControllers[i]]; 

} 

//add new screen. 

[viewControllers addObject:newVC]; 

[self.navigationController setViewControllers:viewControllers]; 
関連する問題