Apple のガイドに従って、独自のカスタム コンテナー ビュー コントローラーを作成しています。1 つの苛立たしい問題を除いて、箱から出してすぐに問題なく動作するようです。
viewWillAppear:
子View Controllerがいつ受信してviewDidAppear:
呼び出すか(および対応するもの)を正確に指定するにはどうすればよいdisappear
ですか?
子が親に滑り込むなどの派手なアニメーションがあるとしましょう。viewWillAppear:YES
当然、アニメの最初とviewDidAppear:YES
最後に呼ばれたいです。ただし、デフォルトでは、子のビューが親のビューに追加されると、viewWillAppear:NO
との両方viewDidAppear:NO
が同時に呼び出されます。
beginAppearanceTransition:animated:
現在、iOS 6 で追加されたとメソッドがあることは知っていますがendAppearanceTransition
、iOS 5 をサポートしたいと思います。また、これらは高度なケースで使用することを意図しているようです。
子をコンテナーに追加すると、メッセージの転送が必要なイベントが発生するとすぐに、コンテナーは回転と外観のコールバックを子ビュー コントローラーに自動的に転送します。これは、すべてのイベントが適切に送信されることを保証するため、通常は必要な動作です。ただし、デフォルトの動作では、コンテナにとって意味のない順序でこれらのイベントが送信される場合があります。たとえば、複数の子がビュー ステートを同時に変更している場合、外観のコールバックがより論理的な順序で同時に発生するように、変更を統合することができます。これを行うには、コンテナー クラスを変更して、外観または回転のコールバックを担当します。
適切なタイミングでアピアランス メソッドを呼び出すメソッドもありtransitionFromViewController:toViewController:duration:options:animations:completion:
ますが、2 つのビュー コントローラーが動作する必要があり、一般的にここでは場違いに見えます。もちろん、いたずらをしてダミーの子供に餌をやるかもしれませんが、真剣に...
足りないものはありますか?どんな助けでも大歓迎です。