ios – Swift连续旋转动画不是那么连续

ios – Swift连续旋转动画不是那么连续,第1张

概述这是我的代码.意图是连续旋转名为swirls [l]的UI ImageView.但是,每个旋转开始/结束之间会有一个小的暂停.我已经完成了每一个动画教程,但无法弄清楚错误是什么? let fullRotation = CGFloat(M_PI * 2) let duration = 2.0 let delay = 0.0 let options = UIViewKeyfr 这是我的代码.意图是连续旋转名为swirls [l]的UI ImageVIEw.但是,每个旋转开始/结束之间会有一个小的暂停.我已经完成了每一个动画教程,但无法弄清楚错误是什么?

let fullRotation = CGfloat(M_PI * 2)    let duration = 2.0    let delay = 0.0    let options = UIVIEwKeyframeAnimationoptions.Repeat | UIVIEwKeyframeAnimationoptions.CalculationModelinear    UIVIEw.animateKeyframesWithDuration(duration,delay: delay,options: options,animations: {        UIVIEw.addKeyframeWithrelativeStartTime(0,relativeDuration: 1/3,animations: {            swirls[l].transform = CGAffinetransformMakeRotation(1/3 * fullRotation)        })        UIVIEw.addKeyframeWithrelativeStartTime(1/3,animations: {            swirls[l].transform = CGAffinetransformMakeRotation(2/3 * fullRotation)        })        UIVIEw.addKeyframeWithrelativeStartTime(2/3,animations: {            swirls[l].transform = CGAffinetransformMakeRotation(3/3 * fullRotation)        })        },completion: {finished in     })

编辑:我看到有人建议先前的解决方案可用,但它不能用于连续不间断的旋转.对我有用的唯一技巧是我在下面选择的答案.谢谢

解决方法 我不确定你的代码有什么问题,但我用这种方法实现了连续旋转,

@IBAction func rotateVIEw(sender: UIbutton) {        UIVIEw.animateWithDuration(0.5,delay: 0,options: .Curvelinear,animations: { () -> VoID in            self.spinningVIEw.transform = CGAffinetransformRotate(self.spinningVIEw.transform,CGfloat(M_PI_2))        }) { (finished) -> VoID in            self.rotateVIEw(sender)        }    }
@H_404_30@ 总结

以上是内存溢出为你收集整理的ios – Swift连续旋转动画不是那么连续全部内容,希望文章能够帮你解决ios – Swift连续旋转动画不是那么连续所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1037698.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存