HUD のようなパイ アニメーションを使用して、円形の進行状況メーターの塗りつぶしをアニメーション化する必要があります。Core Animation を使用して単色でパスをアニメーション化する方法の例を見つけました。違いは、塗りつぶしを単色ではなくイメージ マスク (リンクを参照) にする必要があることです。
Core Animationなどを使用してこれを行う方法について誰かが提案できますか?
HUD のようなパイ アニメーションを使用して、円形の進行状況メーターの塗りつぶしをアニメーション化する必要があります。Core Animation を使用して単色でパスをアニメーション化する方法の例を見つけました。違いは、塗りつぶしを単色ではなくイメージ マスク (リンクを参照) にする必要があることです。
Core Animationなどを使用してこれを行う方法について誰かが提案できますか?
マジックナンバーを使用した私の例(理解を深めるため):
CAShapeLayer *circle = [CAShapeLayer layer];
circle.path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(29, 29) radius:27 startAngle:-M_PI_2 endAngle:2 * M_PI - M_PI_2 clockwise:YES].CGPath;
circle.fillColor = [UIColor clearColor].CGColor;
circle.strokeColor = [UIColor greenColor].CGColor;
circle.lineWidth = 4;
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
animation.duration = 10;
animation.removedOnCompletion = NO;
animation.fromValue = @(0);
animation.toValue = @(1);
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
[circle addAnimation:animation forKey:@"drawCircleAnimation"];
[imageCircle.layer.sublayers makeObjectsPerformSelector:@selector(removeFromSuperlayer)];
[imageCircle.layer addSublayer:circle];
imageCircle - カスタムの「イメージ マスク」を使用した UIImageView。
循環進行状況ビューの基本的なチュートリアルは次のとおりです。
http://iosdevtricks.blogspot.com/2013/06/custom-circular-progress-view-for-ios.html
いくつかの追加調整を行う必要があります。
単色でそれを行う方法をすでに知っている場合はmask
、画像 (緑色の円) として使用する新しいレイヤーを作成するだけです。マスキング レイヤーのアルファ チャネルを使用して何が表示されるかを決定するため、既に読んだ単色を使用した例をマスクに使用することができます。マスク レイヤーのプロパティをアニメーション化して変更することで、画像を多かれ少なかれ表示することができます。
だからあなたがする必要があるのは: