1

この例に非常によく似た循環グラフをペイントコードで作成しました。

http://www.paintcodeapp.com/news/animation-apple-watch-activity-rings-in-paintcode

ペイントコードで描かれた円グラフ

iOS ビューでコントロールを簡単に引き出すことができましたが、グラフをアニメーション化して、0 から始まり、指定された角度に向かって緩やかになるようにしたいと考えています。基本的に、アニメーションは上記の URL のビデオの最初の 2 秒間のようになります。

このタイプのアニメーションに最適な方法は何ですか?

参考までに: 私は C#/Xamarin で作業していますが、構文にまったくこだわりがないので、Objective C または Swift の例で十分です。

4

2 に答える 2

0

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 を使用していないことは承知していますが、特定のポインターが必要な場合は、ソース コードをチェックして、私がどのように解決したかを確認してください。お役に立てれば!

于 2016-07-01T04:08:02.830 に答える