CABasicAnimationで画像回転アニメーションの自動繰り返しを実行しようとしています。私はそのようなプロパティを設定する方法をウェブで検索しようとしましたが、それを見つけることができませんでした。本当にCAアニメーションにはそのような特性はありませんか?いくつかの大きな値( here )をrepeatCountプロパティに設定できることは知っていますが、UIView animateWithDurationにオプションUIViewAnimationOptionRepeatがあり、その値がハードコードされているのはなぜですか?
いいえ、これは ドキュメント に従って実行することになっている方法です。
このプロパティを
HUGE_VALF
に設定すると、アニメーションが永久に繰り返されます。
Swiftの更新:
HUGE_VALFはSwiftに公開されていません。ただし、 このページ からの私の理解は、HUGE_VALFが無限大であることを意図していることです(実際、INFINITY
はHUGE_VALF
として定義されています)。 SwiftのFloatingPointType
プロトコルはstatic var infinity
を提供するため、次のように簡単に記述できます。
myAnimation.repeatCount = .infinity
Swift 3.0以降
let rotationAnimation = CABasicAnimation(keyPath: "transform.rotation.z")
rotationAnimation.fromValue = 0
rotationAnimation.toValue = CGFloat.pi * 2
rotationAnimation.duration = 1
rotationAnimation.repeatCount = .infinity
holderView.btnRefresh.layer.add(rotationAnimation, forKey: "spinAnimation")