UIBezierPath - 动画填充

时间:2012-07-11 00:26:02

标签: objective-c ios uiview core-animation

我有一个UIBezierPath(圆圈)以增量方式构建:

[circlePath addArcWithCenter:clockCenter radius:radius startAngle:angleRadians endAngle:1.5*M_PI clockwise:YES];
...
[circlePath closePath];
[COLOR_CIRCLE setFill];
[circlePath fill];

偶尔,我想为填充设置动画,以便在完成填充时花费一秒钟,并在构建时遵循路径(顺时针)。完成此任务的首选方法是什么?现在我正在思考核心动画,但我希望有一个填充:withDelay或一些我没有偶然发现的东西。 TIA。

1 个答案:

答案 0 :(得分:2)

你可以试试这个:

创建一个CAShapeLayer,其path设置为您的形状。使用此CAShapeLayer作为绘制填充圆弧/圆的另一个图层的蒙版。然后将弧/圆弧角度设置为0º到360º。这可能接近你想要的效果。

我无法找到“内置”方式来根据需要设置填充动画。然而,有一种内置的方式来设置笔画动画:

使用带有CAShapeLayer支持的UIView。 CAShapeLayer拥有path属性。然后,您可以将动画应用于图层的strokeStart和/或strokeEnd属性。