尝试使用Swift为圆形构图设置动画

时间:2015-07-14 15:18:12

标签: ios swift animation

我是快速动画的新手,需要一些帮助才能理解这一点。

所以说我有以下代码,根据提供的输入创建一个圆圈。

    func drawCircle(percentage:CGFloat){
//Some circle drawing code and the circle is drawn using the percentage % provided.

}

我用

调用此函数
drawCircle(0.5)

我会得到这个。 enter image description here 我打电话使用

drawCircle(0.75)

我会得到这个。 enter image description here 因此,基于通过的百分比,我创建圆/半圆/环。希望我有所作为。

现在只有我要动画的部分是圆形。 所以当我打电话给drawCircle(0.5)时,它应该从0.0%平滑地动画到0.5% 目前,如果我用计时器调用我的方法并按顺序传递参数(0.00,0.1,0.2等到0.5)它可以工作。 一个例子: enter image description here

但我认为这不是正确的做法。所以我们正在寻找的是,如果有一种更好的方法可以使用swift中的动画来实现这一点,其中从0.0到0.5的过渡是平滑的。

[我不想更改现有的圆圈创建代码。它已经是我正在工作的人制作的现有代码库,它有一些时间因素和风险,可以立即更改现有代码。寻找功能" drawCircle(%)"可用于实现所需的输出。建议随时欢迎。]

TIA>

1 个答案:

答案 0 :(得分:2)

查看如何使用UIBezierPathCAShapeLayer制作动画。基本上,您需要使用圆的等式创建UIBezierPath。然后使用strokeEnd属性来定义应该动画多少圆圈。这是一个参考答案,尽管在objective-c

Draw circle with UIBezierPath