2016-10-04 126 views
-1

我试图使这个旋转的UIView永远:UIView的旋转360°永远

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? 它有同样的问题,我这样做,但我无法弄清楚如何获得自对象 - 它的工作 - >雨燕有许多变化。宁愿使用除CAAnimation之外的UIView.animate,但不确定这是否是唯一的其他方式。

+0

“宁愿使用除CAAnimation之外的UIView.animate”然后你还没有理解链接的答案,它清楚地表明了为什么这是不可能的。你必须使用CABasicAnimation来可靠地做到这一点。 – matt

+0

我不知道。谢谢,我会检查出来 – Nicholas714

回答

1

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