0

現在、A、B、C の 3 つのコントローラーがあります。 で 1 つのボタンをクリックしてAControllerpresentBControllerし、次に で 1 つの API を呼び出します。次に、別の api を正常に呼び出し、 を閉じると、画面が に戻ることを願っています。3 つのコントローラーはすべて、ナビゲーション コントローラー スタックにはありません。BControllerCControllerBControllerCControllerCControllerAcontroller

私の実装:

で、メソッドをBController呼び出して、失敗しました。画面に何も表示されず、何も表示されません。この問題の解決を手伝ってくれる人がいるといいのですが。presentViewController:(CController)dismissViewController:(self)

ありがとう!

4

3 に答える 3

0

次に、次の操作を行います。

1) A -> present B

2) B executes some method and if it is success -> delegate method to A, 
f.e (void)bControllerDidSuccess


3) in A Controller delegate method (void)bControllerDidSuccess: 
    A dismissViewController; // A dissmising B
    A presentViewController:C // A presenting C
于 2013-11-06T09:50:23.897 に答える
0

CController を閉じたい場合は、通常の方法でこの行を追加するだけです

    [self.navigationController popToRootViewControllerAnimated:YES];
于 2013-11-06T09:55:07.313 に答える
0

以下をせよ:

  • presentViewController:animated:completion: を使用した A present B から:
  • from B present C with presentViewController:animated:completion:
  • Cで条件が満たされた場合、Cのプロパティ「presentingVIewController」をdismissViewControllerAnimated:completion:で却下するだけで、Cを自動的に却下するBコントローラーを効果的に却下し、Aコントローラーに「着陸」します
于 2013-11-06T10:51:43.380 に答える