我有一个增量构建的 UIBezierPath(一个圆圈):
[circlePath addArcWithCenter:clockCenter radius:radius startAngle:angleRadians endAngle:1.5*M_PI clockwise:YES];
...
[circlePath closePath];
[COLOR_CIRCLE setFill];
[circlePath fill];
有时,我想对填充进行动画处理,以便在一秒钟内完全填充并遵循构建时的路径(顺时针方向)。完成此任务的首选方法是什么?现在我正在考虑 Core Animation,但我希望有一个 fill:withDelay 或一些我没有偶然发现的东西。 TIA。
最佳答案
你可以试试这个:
创建一个 CAShapeLayer,其 path
设置为您的形状。使用这个 CAShapeLayer 作为另一个图层的蒙版,你可以在其中绘制一个填充的圆弧/圆。然后将圆弧/圆弧角度从 0º 设置为 360º。这可能接近您想要的效果。
我找不到一种“内置”方式来根据需要为填充设置动画。但是,有一种内置的方法可以为笔画设置动画:
使用带有 CAShapeLayer 支持的 UIView。 CAShapeLayer 有一个 path
属性。然后,您可以将动画应用到图层的 strokeStart
和/或 strokeEnd
属性。
关于objective-c - UIBezierPath - 动画填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11423896/