5

UIViewController (ビュー A) は、別のビュー コントローラー (ビュー B) をモーダル コントロールとして呼び出すことによって呼び出します。

[self presentModalViewController:ViewB animation:TRUE];

ビュー B は次の呼び出しによって存在します。

[自己却下ModalViewControllerAnimated:TRUE];

これが発生すると、ビュー A の viewWillAppear と viewDidAppear が呼び出されないことを除いて、すべてが正しく見えます (ただし、アプリの初期化中に呼び出されます)。奇妙なことは...以前にこれを行ったと思いますが、今何が起こっているのかわかりません。

私がやっていることが明らかに間違っていることはありますか?ありがとう!

* UPDATE * この動作は UIModalTransitionStylePartialCurl トランジション タイプでのみ発生することを今知りました。他のすべてのトランジション タイプでは、親ビュー コントローラはその viewDidAppear メッセージを正常に取得します。

さて、私は何をすればよいのでしょうか!?

4

1 に答える 1

3

私はちょうど同じ問題に遭遇しました。

デリゲートとデリゲートメソッドを追加して解決しました。

そのため、コントローラ A がコントローラ B をページ カール付きのモーダル ビュー コントローラとして開くと、コントローラ b の.delegate のインスタンスをコントローラ a に設定します。

コントローラー B で、これを追加します。

-(void) viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];

    if (delegate)
        [delegate didCloseInfoViewController];
}
于 2011-12-12T08:25:24.470 に答える