web-dev-qa-db-ja.com

UIView animateWithDuration:期間:アニメーション:完了:デフォルトの遷移があるようですか?

私のプログラムでは、一定の速度で動くアニメーションを作成したいと思います。アニメーションの開始が遅く、速度が上がり、終了が遅いようです。これを変更する方法はありますか?

14
Fitzy

この設定は、animateWithDuration:delay:options:animations:completion:の代替手段を使用して変更できます。オプションパラメータのUIViewAnimationOptionマスクを送信します。これらはあなたが興味を持っているオプションです:

 UIViewAnimationOptionCurveEaseInOut 
 UIViewAnimationOptionCurveEaseIn   
 UIViewAnimationOptionCurveEaseOut 
 UIViewAnimationOptionCurveLinear 

ドキュメントには、UIViewAnimationOptionCurveEaseInOutがデフォルト値であると記載されています。

詳細については、ドキュメントを参照してください: http://developer.Apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview.html

22
adig

あなたが使うべきです、それはあなたの問題を解決します

[UIView animateWithDuration:duration delay:0 options:UIViewAnimationOptionCurveLinear  animations:^{
        //code with animation
    } completion:^(BOOL finished) {
        //code for completion
    }];
16
Paul T.