0

ViewController-> ModalViewController1---horizo​​ntalflip ---> ModalViewController2

したがって、MVC2で「完了」に触れて自分自身を却下すると、MVC1でデリゲートメソッドが呼び出され、いくつかの処理を実行してから自分自身を却下します。

問題は、MVC2を閉じるアニメーションが完了する前に、この「もの」がすでに実行されていることです。アニメーションがいつ完了したかを確認してから、MVC1を閉じたいのですが。

4

2 に答える 2

0

MVC2のアニメーションが完了すると、MVC1はviewDidAppearを受信するはずです。すでに実行しているデリゲート呼び出しによって設定された条件に基づいて、そこで「処理」を実行できます。

于 2012-04-19T20:21:33.603 に答える
0

これを実現するには、デリゲートを使用できるはずです。

MVC2.hの場合

@protocal MVC2Delegate <NSObject>
@optional
  - (void) doneShowing;
@end

MVC2.mでは、[完了]をタップして、アクション内でdoneShowingを呼び出すと、IBActionメソッドを実装できます。

MVC1では、このデリゲートメソッドを実装し、その中でやりたいことを何でも実行できます。最後に、[self dismissViewControllerAnimated:<#(BOOL)#> completion:<#^(void)completion#>]

于 2012-04-19T21:06:08.860 に答える