2011-06-22 4 views
0

私のviewDidLoadメソッドで、私はviewControllerがプッシュされた方法をアニメーション化したかどうかチェックしたいと思います。viewControllerプッシュがアニメーション化されているかどうか確認してください

場合によってはアニメーション化されているものもあれば、アニメーション化されているものもあれば、いくつかのコントロールを表示したいものもあります。

これは私のviewControllerをプッシュしている方法です。

childController = [[CategoryOneDetailController alloc] initWithNibName:xibDownName bundle:nil]; 
[self.navigationController pushViewController:childController animated:NO]; 

誰でも手伝ってもらえますか?

ありがとう、サミ。

編集

- (void)viewWillAppear:(BOOL)animated方法がうまく働いていた私は、私の見解で、私は時にクリックした通話ボタンこの方法

- (void) nextPressed:(id)sender { 

      childController = [[CategoryOneDetailController alloc] initWithNibName:xibDownName bundle:nil]; 
    [UIView beginAnimations: @"Showinfo"context: nil]; 
    [UIView setAnimationCurve: UIViewAnimationCurveEaseInOut]; 
    [UIView setAnimationDuration:0.75]; 
    [self.navigationController pushViewController: childController animated:NO]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.navigationController.view cache:NO]; 
    [UIView commitAnimations]; 
    [childController release]; 

} 

を持っている場合、ビューがロードされたしかし一度、いくつかのログメッセージでそれをテストしましたこの2番目のビューがプッシュされると、ログにはアニメーションは表示されませんが、これが表示され、プッシュがアニメーション化されたかどうかを確認する必要があります。

+1

'childController'が漏れています。プッシュした後に' [childController release] 'を追加してください。 – vikingosegundo

答えて

2

あなたのViewControllerでviewDidAppear:(BOOL)animatedまたはviewWillAppear:(BOOL)animated

を実装:アプリが起動された場合

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    if(animated) { 
     //do what ever is needed when animted 
    } else { 
     //what will you do, if not animated? 
    } 
} 
+0

どうすればいいですか、私はObjecctive-Cの新機能です。 – Sami

+0

私の編集をご覧ください。 – vikingosegundo

+0

ありがとう、私はあなたの方法を試みたが、私はまだ問題がある、私の編集を参照してください。 – Sami

0

のViewControllerがアニメ化されずにプッシュされるだけの時間があります。 アニメーションパラメータにNOを明示的に指定しない限り、他のプッシュはデフォルトでアニメーション化されます。

+1

を表示し、OPは 'animated = NO'を指定しています – vikingosegundo

関連する問題