永远旋转 UIView 360° [重复]

Posted

技术标签:

【中文标题】永远旋转 UIView 360° [重复]【英文标题】:Rotate UIView 360° forever [duplicate] 【发布时间】:2016-10-04 21:45:38 【问题描述】:

我试图让这个 UIView 永远旋转:

let options = UIViewAnimationOptions.autoreverse.union(UIViewAnimationOptions.repeat)

UIView.animate(withDuration: 5, delay: 0, options: options, animations:             
    self.transform = CGAffineTransform(rotationAngle: CGFloat(2 * M_PI))
, completion:  _ in )

目前它什么也不做,因为旋转角度与它现在的位置相同。当我尝试 M_PI 之类的东西时,它可以正常工作并按应有的方式来回运行,但是它只能做到一半。

我想知道如何才能以完整的 360 度运动永远继续这种旋转。

我试过这个: UIView Infinite 360 degree rotation animation? 这和我有同样的问题,但我不知道如何让它工作,因为 Obj-C -> Swift 有很多变化。宁愿使用 UIView.animate 而不是 CAAnimation,但不确定这是否是唯一的其他方式。

【问题讨论】:

"宁愿使用 UIView.animate 而不是 CAAnimation" 那么您还没有理解链接的答案,这清楚地表明了为什么这是不可能的。您必须使用 CABasicAnimation 来可靠地执行此操作。 我不知道。谢谢,我去看看 【参考方案1】:

使用 CABasicAnimation,而不是查看动画,并以加法方式旋转,而不是绝对值。如果你永远加法旋转 180 度也会有所帮助,因为这更容易表达。

【讨论】:

以上是关于永远旋转 UIView 360° [重复]的主要内容,如果未能解决你的问题,请参考以下文章

UIView无限360度旋转动画?

为啥我的旋转动画有缓动效果?

如何防止 UIView 背景旋转? [复制]

悬停时的CSS 3旋转动画[重复]

在 Swift 中重复 alpha 动画

在单击或旋转之前未显示带有 UIButtons 的 UIView