2012-11-28 93 views
1

我一直在四處搜尋,但是找不到解決我的特定問題的答案。在我的應用程序中,我有一個自定義UIView無限期地動畫。這是一塊海藻,動畫非常微妙,讓它看起來像是在水中晃動。我使用transform.rotation.zposition鍵上的CAKeyframeAnimation對象執行此操作。這些被添加到一個CAAnimationGroup,其被添加作爲層到我UIView,像這樣:旋轉一個UIView,它已經帶有旋轉的動畫效果

animGroup = [CAAnimationGroup animation]; 
animGroup.fillMode = kCAFillModeForwards; 
[animGroup setAnimations:[NSArray arrayWithObjects:posAnim, rotateAnim, nil]]; 
animGroup.duration = prpAnim.duration; 
animGroup.repeatCount = prpAnim.repeat; 
animGroup.delegate = self; 
[animGroup setValue:self forKey:[NSString stringWithFormat:@"paper.rot.pos.%d",objID]]; 
[self.layer addAnimation:animGroup forKey:[NSString stringWithFormat:@"rot.pos.%d",objID]]; 

我想在不干擾核心動畫傾斜的iPad當進一步沿該UIView的圖像(片海藻)。當它不是通過關鍵幀動畫時,我可以做到這一點,但當我試圖將兩者結合起來時,它不起作用,我無法弄清楚。

我試過動畫使用像這樣的層:

CATransform3D rotatePiece3D = CATransform3DMakeRotation(-(tiltRadians), 0.0, 0.0, 1.0); 
seaweedPiece.layer.transform = rotatePiece3D; 

但是,這並不工作,要麼 - 只有當動畫組被關閉。這是一個2D應用程序,所以我只想讓它左右傾斜時圍繞z軸旋轉。任何想法如何做到這一點?

回答

0

你顯然不能單獨改變它的旋轉動畫,所以我試圖做的不會工作。我最終將動畫鍵更改爲path,這允許我使用加速度計單獨旋轉視圖。