0

みなさん、こんにちは。

おそらくこれはかなり単純な質問ですが、私は初心者であり、解決できませんでした。さて、問題は次のとおりです。

  1. このコントローラーのviewdidAppearデリゲートにメインビューコントローラーがあり[self presentModalViewController animated:YES];、2番目のビューを表示するために使用します。
  2. 2 番目のビュー コントローラーのメソッドの 1 つで、特定のプロセスの 3 番目のコントローラーを開始しました。
  3. 3 番目のコントローラーでのプロセスの後、2 番目のコントローラーを再度開始して、2 番目のコントローラーのメソッドを呼び出します。この方法では、私は使用します[self dismissModalViewControllerAnimated:YES];が、2 番目のビューは無視することを拒否します。

私のシナリオで十分に明確であることを願っています。ご意見をお聞かせください。前もって感謝します!

:)

4

2 に答える 2

1

@投稿より: 3 番目のコントローラーでのプロセスの後、2 番目のコントローラーを再度開始して、2 番目のコントローラーのメソッドを呼び出します。

これは、modalViewController が表示されていない secondViewController の新しいインスタンスを開始していることを示しています。実際に表示したインスタンスに対して、dismissModalViewControllerAnimated を呼び出す必要があります。

以下のように

このように thirdViewController を設計します

@class SecondView;
@interface ThirdView : UIViewController {
    SecondView *secondViewRefPointer;

}
@property (nonatomic, retain) SecondView * secondViewRefPointer;
@end

//While adding the third view from the secondView
ThirdView *thirdViewInstance = [[ThirdView alloc]init];
thirdViewInstance.secondViewRefPointer = self; //self will refer to the current secondView instance

…</p>

そして3番目のビューで、以下のようにdismissModalViewControllerを呼び出します

[secondViewRefPointer dismissModalViewControllerAnimated:YES];
于 2011-09-16T08:41:00.110 に答える