43

CABasicAnimationを使用して画像回転アニメーションの自動リピートを実行しようとしています。そのようなプロパティを設定する方法をWebで検索しようとしましたが、見つかりませんでした。CAアニメーションには本当にそのようなプロパティはありませんか?巨大な値(ここ)をrepeatCountプロパティに設定できることは知っていますが、UIView animateWithDurationにオプションUIViewAnimationOptionRepeatがあり、その値がハードコーディングされているのはなぜですか?

4

2 に答える 2

142

いいえ、これはドキュメントによるとあなたがそれを行うことになっている方法です。

このプロパティをに設定HUGE_VALFすると、アニメーションが永久に繰り返されます。


Swiftのアップデート:

HUGE_VALFはSwiftに公開されていません。ただし、このページからの私の理解では、HUGE_VALFは無限大であることが意図されています(実際にINFINITYは、として定義されていますHUGE_VALF)。SwiftのFloatingPointTypeプロトコルはを提供するのでstatic var infinity、あなたは簡単に書くことができます

myAnimation.repeatCount = .infinity
于 2011-08-16T17:51:12.667 に答える
7

swift3.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")
于 2017-04-19T10:41:00.167 に答える