UIView
あなたが求めていることを正確に行うサブクラスを作成しました。リングの配列と他のいくつかのパラメーターを指定するだけで、すべてのセットアップと管理が処理されます。
https://github.com/lionheart/ConcentricProgressRingView
の上部でUIViewController
、モジュールをインポートします。
import ConcentricProgressRingView
次に、あなたのviewDidLoad
:
let rings = [
ProgressRing(color: UIColor.redColor()),
ProgressRing(color: UIColor.blueColor()),
]
let margin: CGFloat = 2
let radius: CGFloat = 80
let progressRingView = ConcentricProgressRingView(center: view.center, radius: radius, margin: margin, rings: rings, defaultWidth: 20)
view.addSubview(progressRingView)
インスタンスをインスタンス化したらConcentricProgressRingView
、特定のリングを でパーセンテージにアニメートしsetProgress
ます。
ring.arcs[1].setProgress(0.5, duration: 2)
内部的には、これはCABasicAnimation
「正しく」見えるようにするいくつかのパラメーターを使用して設定するだけです。Swift を使用していないことは承知していますが、特定のポインターが必要な場合は、ソース コードをチェックして、私がどのように解決したかを確認してください。お役に立てれば!