iOSアニメーションノート
1462 ワード
一、CASpringAnimation
iOS 9が導入したアニメーションクラスで、スプリングアニメーションを作成するためにCABaseAnimationに継承されています.
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);
質量は、レイヤーの動きに影響するスプリング慣性で、質量が大きいほどスプリングの引張りと圧縮の幅が大きくなります.質量を10に変更すると、アニメーションがアニメーションになる速度が遅くなり、変動の幅が大きくなります.
stiffness:
剛性係数(力係数/弾性係数)は,剛性係数が大きいほど変形による力が大きくなり,運動が速くなる.
damping:
ダンピング係数、スプリングの伸縮を阻止する係数、ダンピング係数が大きいほど、停止が速くなります.
initialVelocity:
初期レート、アニメーションビューの初期速度サイズ.速度が正の場合、速度方向は運動方向と一致し、速度が負の場合、速度方向は運動方向と逆である.
settlingDuration:
決済時間は、スプリングアニメーションの停止までの推定時間を返し、現在のアニメーションパラメータに基づいて推定します.通常スプリングアニメーションの時間は決済時間が正確です.
二、CALayer Animation-Gradient Animation
参照先:
三、プルダウンリフレッシュ例
ダウンロード先:https://github.com/Joeyechang/MyPullToRefreshDemo.git