UIBezierPath - 动画填充

Mic*_*old 6 core-animation objective-c uiview ios

我有一个逐步建立的UIBezierPath(圆圈):

[circlePath addArcWithCenter:clockCenter radius:radius startAngle:angleRadians endAngle:1.5*M_PI clockwise:YES];
...
[circlePath closePath];
[COLOR_CIRCLE setFill];
[circlePath fill];
Run Code Online (Sandbox Code Playgroud)

偶尔,我想为填充设置动画,这样它需要一秒钟才能完全填充,并在构建时遵循路径(顺时针).完成此任务的首选方法是什么?现在我正在考虑核心动画,但我希望有一个填充:withDelay或一些我没有偶然发现的东西.TIA.

nie*_*bot 2

你可以试试这个:

\n\n

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

\n\n

我找不到一种“内置”方式来根据需要对填充进行动画处理。然而,有一种内置的方法可以为笔画设置动画:

\n\n

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

\n