iOSアニメーションノート

1462 ワード

一、CASpringAnimation


iOS 9が導入したアニメーションクラスで、スプリングアニメーションを作成するためにCABaseAnimationに継承されています.
  • eg.
  • let spring = CASpringAnimation(keyPath: "position.x")
    spring.damping = 5;
    spring.stiffness = 100;
    spring.mass = 1;
    spring.initialVelocity = 0;
    spring.fromValue = label.layer.position.x;
    spring.toValue = label.layer.position.x + 50;
    spring.duration = spring.settlingDuration;
    label.layer.addAnimation(spring, forKey: spring.keyPath);
    
  • パラメータ説明
  • mass:
    質量は、レイヤーの動きに影響するスプリング慣性で、質量が大きいほどスプリングの引張りと圧縮の幅が大きくなります.質量を10に変更すると、アニメーションがアニメーションになる速度が遅くなり、変動の幅が大きくなります.
    stiffness:
    剛性係数(力係数/弾性係数)は,剛性係数が大きいほど変形による力が大きくなり,運動が速くなる.
    damping:
    ダンピング係数、スプリングの伸縮を阻止する係数、ダンピング係数が大きいほど、停止が速くなります.
    initialVelocity:
    初期レート、アニメーションビューの初期速度サイズ.速度が正の場合、速度方向は運動方向と一致し、速度が負の場合、速度方向は運動方向と逆である.
    settlingDuration:
    決済時間は、スプリングアニメーションの停止までの推定時間を返し、現在のアニメーションパラメータに基づいて推定します.通常スプリングアニメーションの時間は決済時間が正確です.
  • 参照:
  • iOS UIView Animation - Spring

    二、CALayer Animation-Gradient Animation


    参照先:
  • Apple CoreAnimation_guide
  • calayer-animation-gradient-animation/

  • 三、プルダウンリフレッシュ例


    ダウンロード先:https://github.com/Joeyechang/MyPullToRefreshDemo.git

    四、その他の参考:

  • iOS UIView Animation - First Animation
  • iOS UIView Animation - Keyframe
  • iOS UIView Animation - Practice
  • iOS UIView Animation - Transition