2016-10-04 120 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度,這也會有所幫助,因爲這更容易表達。