我是快速动画的新手,需要一些帮助才能理解这一点。
所以说我有以下代码,根据提供的输入创建一个圆圈。
func drawCircle(percentage:CGFloat){
//Some circle drawing code and the circle is drawn using the percentage % provided.
}
我用
调用此函数drawCircle(0.5)
我会得到这个。 我打电话使用
drawCircle(0.75)
我会得到这个。 因此,基于通过的百分比,我创建圆/半圆/环。希望我有所作为。
现在只有我要动画的部分是圆形。
所以当我打电话给drawCircle(0.5)
时,它应该从0.0%平滑地动画到0.5%
目前,如果我用计时器调用我的方法并按顺序传递参数(0.00,0.1,0.2等到0.5)它可以工作。
一个例子:
但我认为这不是正确的做法。所以我们正在寻找的是,如果有一种更好的方法可以使用swift中的动画来实现这一点,其中从0.0到0.5的过渡是平滑的。
[我不想更改现有的圆圈创建代码。它已经是我正在工作的人制作的现有代码库,它有一些时间因素和风险,可以立即更改现有代码。寻找功能" drawCircle(%)"可用于实现所需的输出。建议随时欢迎。]
TIA>
答案 0 :(得分:2)
查看如何使用UIBezierPath
和CAShapeLayer
制作动画。基本上,您需要使用圆的等式创建UIBezierPath。然后使用strokeEnd
属性来定义应该动画多少圆圈。这是一个参考答案,尽管在objective-c