2011-09-19 8 views
6

iOSドキュメントでbeginAnimation-commitAnimationを使用することはお勧めしません。したがって、アニメーションやトランジションには^ブロックを使用する新しいメソッドがあります。しかし、私はtransitionWithViewを使用:所要時間:オプション:アニメーション:私が書く場合は終了方法は、私は何の変化effects.Soを取得していない:UIViewトランジションアニメーションがtransitionWithView:duration:options:animation:completionメソッドで動作しない

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:1]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; 
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp 
         forView:self.view cache:YES]; 

firstView.hidden = YES; 
secondView.hidden = NO; 
[UIView commitAnimations]; 

それは動作しますが、私はそれを行う場合は、次のよう

[UIView transitionWithView:self.view duration:1.0 options 
     UIViewAnimationCurveEaseIn|UIViewAnimationTransitionCurlUp 
     animations:^{ 
      firstView.hidden = YES; 
      secondView.hidden = NO; 
     } completion:NULL 
     ]; 

私はトランジション効果は得られません。私は何が欠けていますか?

答えて

18

OKは、微妙なディテールの誰もがアニメーションやトランジションを取得するためにの注意を取る必要が私を見つけたは、iOS 4で利用可能な方法で動作し、later.Whenは、私たちがしなければならないメソッドのためのアニメーション/移行オプションを指定しますその中に「Option」という単語を含む定数を使用してください。だからではなく、

UIViewAnimationCurveEaseIn|UIViewAnimationTransitionCurlUp 

を書いている私たちは、遷移がその観察のためにうまく

+0

感謝を働いたことを固定した後

を記述する必要があります。良い情報! – GrimmRanger

+0

ハ、素敵なスポット、そして簡単な間違いで自動完成で...あなたがそれを必要とするときにタイプセーフなのはどこですか? – bandejapaisa

+0

ああ私の神!私はこれを見つけ出すまで、この恐怖に2時間を費やしました。アップルは真剣に "非オプション"バージョンを償却する必要があります。 – rushinge

関連する問題