2016-12-08 8 views
0

コレクションビューコントローラPatientList - >セルの選択時にPatientdetailView - >ボタンをクリックするとstartDignosisViewにナビゲートします。これはナビゲーションコントローラスタックです。今患者リストから、AddpatientViewにナビゲートするボタン「追加」があります。そこから、妨害ナビゲーションスタックなしでStartdignosisViewにナビゲートする必要があります。どうしたらいいですか?UInavigationcontrollerスタックの中央にあるViewControllerにナビゲートできる方法はありますか?

+0

Arpanaはストーリーボードを使用していますか? –

+0

より明確に質問してください、あなたの質問は100%理解できません! – Lion

+0

あなたの問題を詳しく教えてもらえますか?あなたの質問は100%理解できません –

答えて

0
for (UIViewController *controller in self.navigationController.viewControllers) 
{ 
    if ([controller isKindOfClass:[NeededViewController class]]) 
    { 
     [self.navigationController popToViewController:controller 
              animated:YES]; 
     break; 
    } 
} 
+0

私のナビゲーションスタックは-PatientListView-> detailView-> StartDiagosisviewです。 Patient Listビューには、AddPatientViewにナビゲートするAddというボタンがあります。 AddpatientViewからStartDiagnosisViewに移動するはずのボタンがあります。 AddPatientの 私は上記のコードを (self.navigationControllerのPatientListCardView *コントローラ)として使用しています。{self.navigationController popToViewController:controller animated:YES]; {if([controller isKindOfClass:[self class]]) { break;}} 私は間違ったことをしています –

+0

@ArpanaSakpal私はあなたにソリューションを提供するのに役立ちます...あなたの代わりにコードすることはできません..ごめんなさい –

0
if let viewControllers = self.navigationController?.viewControllers { 
    var newStack: [UIViewController] = [] 
    for viewController in viewControllers { 
     newStack.append(viewController) 
     if viewController is StartdignosisView { 
      break 
     } 
    } 
    self.navigationController?.viewControllers = newStack 
} 
+0

目的Cは –

+0

にしてください。あなたの質問を編集しました! – Lion

0

このようにしてみてください:

some *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"some identifier you add to a vc in the storyboard"]; 
    [self.navigationController pushViewController:vc animated:YES]; 

ちょうどそのビューコントローラのストーリーボードに識別子を設定します。

0

あなたは、以下の手順に従ってストーリーボードを使用していない場合:あなたは、患者追加して、直接StartDignosisVCに移動した場合

を参照してください、あなたはPatientDetailVC

にポップすることができません

まず:

あなたはこれら2からいずれかを行うことができます

AddPatientVCを表示し、新しいものを追加してから、それを閉じて古いスタックパスに従ってください。

第二:

AddPatientVC *obj = [storyboard instantiateViewControllerWithIdentifier:@"AddPatientVC"]; 

と同様に、あなたがAddPatientVCから来ているフラグを設定するとStartdignosisViewにナビゲートします:

StartDignosisVC *obj = [storyboard instantiateViewControllerWithIdentifier:@"StartDignosisVC"]; 
    obj.isFromAddPatientView = true 

ワンADDボタンアクションは、このようなあなたのAddpatientViewをインスタンス化StartDignosisVCからBackボタンを押し、AddPatientVCから来ているかどうかを確認して、Patientリストに直接ポップします。

あなたはストーリーボードを使用している場合、あなたは添付のスクリーンショット参照次の操作を行うことができます:あなたの答えをありがとうMayank enter image description here

+0

あなたの答えDheerajありがとう、私はストーリーボードを使用していません –

0

を次のコードは、私の場合で働いていたが。 [self.navigationController] popToViewController:[self.navigationController.viewControllers objectAtIndex:0]アニメーション:はい];

関連する問題