iOSでEasing

iOSとくにUIKitを使っている場合、デフォルトではイージングが4種類しかありません。

そこでおすすめなのが以下のイージングライブラリです。
https://github.com/bryanoltman/CAAnimation-EasingEquations:CAAnimation-EasingEquations

準備

  1. QuartzCoreフレームワークをプロジェクトにリンクする
  2. CAAnimation+EasingEquations.h/m を追加
  3. イージングを使用したいファイルに上記ヘッダーをインポートする

使い方

CAAnimationを使用しているので、UIViewではなくCALayerをターゲットにします。
http://easings.net/jaここにのっているイージングを使用可能です。

具体的な使用方法は以下の通り

CALayerのプロパティをキーとする
    [CAAnimation addAnimationToLayer:animatedView.layer
                         withKeyPath:@"opacity"
                            duration:1
                                  to:0
                      easingFunction:CAAnimationEasingFuctionEaseInBounce];
CATransform3Dを使用する
    CATransform3D tr;
    tr = CATransform3DMakeScale(2.5, 2.5, 1.0);
    tr = CATransform3DTranslate(tr, 95, 0, 0);
    [CAAnimation addAnimationToLayer:animatedView.layer
                            duration:1
                           transform:tr
                      easingFunction:CAAnimationEasingFuctionEaseOutBack];


非常に簡単に使用出来るので、UIKitのイージングに不満を持っているようでしたら是非。
AppleさんEasingくらいさっさと追加してくれればいいのに…)