【问题标题】:UIBezierPath - Animating FillUIBezierPath - 动画填充
【发布时间】:2012-07-11 00:26:02
【问题描述】:

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

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

有时,我想对填充进行动画处理,以便完全填充并按照路径构建(顺时针)。完成此任务的首选方法是什么?现在我在考虑核心动画,但我希望有一个填充:withDelay 或一些我没有偶然发现的东西。 TIA。

【问题讨论】:

标签: objective-c ios uiview core-animation


【解决方案1】:

你可以试试这个:

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

我找不到一种“内置”方式来根据需要为填充设置动画。但是,有一种内置方法可以为笔画设置动画:

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

【讨论】:

  • 抱歉——刚刚意识到您的路径是一个普通的圆形,而不是任意形状。这个答案适用于任意形状。您应该删除普通圆圈的遮罩步骤。见大卫的回答
猜你喜欢
  • 1970-01-01
  • 2017-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多