我需要一些样例代码,可以通过动画方式绘制一个弧形路径,使其成为完整圆形。
任何意见都将不胜感激。
谢谢, Sat
我需要一些样例代码,可以通过动画方式绘制一个弧形路径,使其成为完整圆形。
任何意见都将不胜感激。
谢谢, Sat
更新: 意识到了这个问题有更好的解决方案。只需创建一个圆形路径并将 CAShapeLayer 的 strokeEnd 属性从 0.0f 动画到 1.0f 即可。可以查看 Ole 在这个答案中的解释:Drawing a path with CAKeyFrameAnimation on iPhone
原始回答:
您可以使用 CAKeyframeAnimation 并创建一个 Core Graphics 路径。此代码以抛物线形式动画图层,但您可以修改它来绘制一个圆形。
- (CAAnimation*)pathAnimation;
{
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path,NULL,50.0,120.0);
CGPathAddCurveToPoint(path,NULL,50.0,275.0,
150.0,275.0,
150.0,120.0);
CGPathAddCurveToPoint(path,NULL,150.0,275.0,
250.0,275.0,
250.0,120.0);
CGPathAddCurveToPoint(path,NULL,250.0,275.0,
350.0,275.0,
350.0,120.0);
CGPathAddCurveToPoint(path,NULL,350.0,275.0,
450.0,275.0,
450.0,120.0);
CAKeyframeAnimation *
animation = [CAKeyframeAnimation
animationWithKeyPath:@"position"];
[animation setPath:path];
[animation setDuration:3.0];
[animation setAutoreverses:YES];
CFRelease(path);
return animation;
}