Ios 尝试使用Swift设置圆形成的动画
我对swift动画不熟悉,需要一些帮助来理解这一点 假设我有下面的代码,它根据提供的输入创建一个圆Ios 尝试使用Swift设置圆形成的动画,ios,swift,animation,Ios,Swift,Animation,我对swift动画不熟悉,需要一些帮助来理解这一点 假设我有下面的代码,它根据提供的输入创建一个圆 func drawCircle(percentage:CGFloat){ //Some circle drawing code and the circle is drawn using the percentage % provided. } 我用 drawCircle(0.5) 我去拿这个。 我使用 drawCircle(0.75) 我去拿这个。 因此,根据通过的百分比,我创建
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>查看如何使用
UIBezierPath
和CAShapeLayer
制作动画。基本上,您需要使用圆的方程式创建一个UIBezierPath。然后使用strokeEnd
属性定义应设置多少圆动画。这里有一个答案供参考,尽管是在objective-c中
尝试在计时器中以短间隔传递一个小值,例如:0.016Um我想补充一点,您当前的动画制作方法效率不高,如果将间隔设置得非常小,则需要很长时间才能为进度条设置进度条:)您可以使用
CADisplayLink
。谢谢。是的,那是唯一的办法。已经改变了我的基本代码,工作得很好。谢谢你的帮助。