2011-07-14 5 views
-2
+ (void) AnimateSwitchingWithParent: (UIViewController *) ParentController From: (UIViewController *) From To: (UIViewController*) To { 

To.view.frame = ParentController.view.bounds; 

[UIView transitionFromView:From.view toView:To.view 
     duration:1 
     options:UIViewAnimationOptionTransitionFlipFromLeft completion:NULL]; 

ParentController.view = To.view; 

[To viewWillAppear:true]; 
} 

これは、ビューを1ビューから別のビューに変更したい場合に呼び出されるアニメーションを作成する私の関数ですが、問題があり、そこにviewControllerという名前のfilterがあります。 内のすべてのコンテンツがリセットされたことを示すために、電話したいこのiOSアニメーションブロックで何が問題になっていますか?

[自己AnimateSwitchingWithParent:自己から:自分自身:自分自身:自己];

ですが、「マイビュー」は空白になります。どのようにすることができますか?誰にでも別の方法がありますか?

+3

大文字と小文字を区別するような命名規則を使い始めてください。コードを読みやすく理解するのがずっと楽になります(また、バグも防げます)。 – Eiko

答えて

1

コンテンツをリセットしているときに現在のビューコントローラのビューを反転する必要がある場合は、transitionWithView:duration:options:animations:completion:メソッドを使用します。

[UIView transitionWithView:self.view 
        duration:1.0f 
        options:UIViewAnimationOptionTransitionFlipFromLeft 
       animations:^(void) { 
        [self resetStuff]; 
       } 
       completion:nil]; 

側注

あなたは、問題の現在の実装では、ビュー階層内のビューを切り替えるに有用であろう。 From.viewはサブビューがParentController.viewであるとし、次の文はのサブビューとしてFrom.viewTo.viewに置き換えます。

[UIView transitionFromView:From.view toView:To.view 
    duration:1 
    options:UIViewAnimationOptionTransitionFlipFromLeft completion:NULL]; 

あなたは間違いなく、これを実行する必要はありません、

ParentController.view = To.view; 

置き換えることをやって、あなたが意図しており、間違いなく矛盾でのトランジションアニメーションに何と異なる場合がありますParentControllerさんview前の行

あなたは間違いなく、直接

[To viewWillAppear:true]; 

、呼び出してはいけません。

私の理解では、最後の2行を削除できるはずです。

関連する問題