2016-08-26 10 views
1

通知バーの通知をクリックした後、その特定のクラスの後に特定のクラスに移動したい場合は、戻るボタンをクリックすると前の要件に移動する必要があります。ViewControllersをスタックに追加してポップバックする必要がある場合

誰でも助けてください。

私はこのように

  • (BOOL)アプリケーションスタックにViewControllerをを追加しました:(のUIApplication *)アプリケーションdidFinishLaunchingWithOptions:(NSDictionaryの*)launchOptions { UIStoryboard * mainStoryboard = [UIStoryboard storyboardWithName: "メイン" @をバンドル:nil];

    SplashViewController * splashViewCon =(SplashViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@ "SplashId"];

    AgreeViewController * agreeViewCon =(AgreeViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@ "agreeView"];

    ViewController * loginViewCon =(ViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@ "loginView"];

    LanguageViewController * languageViewCon =(LanguageViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@ "languageView"];

    LandingScreenViewController * landingViewCon =(LandingScreenViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@ "landingScreenId"];

    HomeScreenViewController * homeViewCon =(HomeScreenViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@ "homeScreen"];

    OrderConfirmationViewController * orderconfirmViewCon =(OrderConfirmationViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@ "orderConfirmationVC"];

    ThankYouViewController * thankViewCon =(ThankYouViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@ "ThankyouId"];

    UploadQueueScreenViewController * uploadViewCon =(UploadQueueScreenViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@ "uploadQueue"];

    NewOrderViewController * newOrderViewCon =(NewOrderViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@ "neworderView"];

    MessageViewController * msgViewCon =(MessageViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@ "MessageInboxscreen"];

    MessageDetailsViewController * msgdetailsViewCon =(MessageDetailsViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@ "msgDetailsView"];

    NSArray * stack = [NSArray arrayWithObjects:splashViewCon、agreeViewCon、loginViewCon、languageViewCon、landingViewCon、homeViewCon、orderconfirmViewCon、thankViewCon、uploadViewCon、newOrderViewCon、msgViewCon、msgdetailsViewCon、nil]; navController。viewControllers =スタック;

    UILocalNotification *通知= [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]。

    場合(通知) {MessageDetailsViewController * msgdetailsViewCon =(MessageDetailsViewController *)[mainStoryboard instantiateViewControllerWithIdentifier: "msgDetailsView" @]。 ; self.window.rootViewController = msgdetailsViewCon; }}

だから、私は何の汎用クラスavaialbeはありません知っている限り、特定のViewController

に戻っ
+0

**通知バーは、ここで**何ですか? –

+0

はい、通知バー – vani

+0

[最小動作例](http://stackoverflow.com/help/mcve)を入力してください。 – buhtz

答えて

0

をポップします。 NSMutableArrayを使って試してみて、addObject経由で追加し、objectAtIndexとremoveObjectAtIndexでfirst/lastを取得してください。

あなたはスタックとして、それらを使用するために独自のコードを実装するためにワンかもしれません。 乾杯:)

+0

uは、ナビゲーションスタックにコントローラを追加するためのコードを提供することができ – vani

2

は、スタック内のあなたのViewControllerを見つけて、それをポップ。このコードは、あなたがそれを見つけるのを助けるかもしれません。

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

私は、誰でもplsは私を助けることができる – vani

+0

を積層するViewControllersを追加する方法を知りたいです – vani

関連する問題