1
我使用CGPathAddEllipseInRect
繪製一個圓,然後在CAKeyframeAnimation中使用該圓。我的問題是動畫總是在同一個地方開始。我認爲我可以做到以下幾點與CGAffineTransform,使其在不同的角度入手:CGPathAddEllipseInRect中的transform屬性
CGAffineTransform temp = CGAffineTransformMakeRotation(M_PI/2);
CGPathAddEllipseInRect(animationPath , &temp, rect);
我不知道這是什麼做的。運行時,我甚至看不到動畫的這部分。它正在做一些離屏的事情。任何幫助理解這一點都會很棒。
很好的答案 - 但你能否解釋一點。當你說起源時,我會認爲它是傳遞CGPathAddEllipseInRect的矩形的起源。但是,如果是這樣的話,那麼我仍然應該在屏幕上看到它,而這並沒有發生。如果它是屏幕的原點,那麼我假設我會看到它在屏幕的底部角落做四分之一的旋轉,這也沒有發生。當我在其中一個電話上登錄電話會議時,我得到了這個 - {{633.066,600.916},{40,40}}。這些圖層被隨機放置,這就是爲什麼這些座標看起來很有趣。 – Brian 2011-04-27 09:59:22
另外,您能否解釋翻譯在代碼中的作用? – Brian 2011-04-27 10:07:41
我已經爲我的答案添加了一些額外的解釋和可視化。希望這可以幫助。 – omz 2011-04-27 13:31:59