2012-07-12 78 views
4

我試圖通過animationWithDuration和多個選項實現UIView動畫塊。它工作正常,除了它似乎只使用我指定的選項之一而不是全部三個。我可以指定的選項數量有限制,還是限制某些選項組合?iOS UIView動畫(animationWithDuration :)有多個選項

以下是我的代碼。 「starRotator」是我旋轉的UIView中的UIImageView。我嘗試在括號中包裝選項,但那也不起作用。它似乎只採取UIViewAnimationOptionRepeat選項,並忽略其他兩個。

[UIView animateWithDuration:30.0 
         delay:0.0 
        options:UIViewAnimationCurveLinear | UIViewAnimationOptionRepeat | UIViewAnimationOptionBeginFromCurrentState 
       animations:^{ 
        starRotator.superview.transform = CGAffineTransformMakeRotation(M_PI); 
       } 
       completion:^(BOOL finished){ } 
]; 

回答

5

你有沒有注意到你們兩個正在使用作爲選項的常量包含單詞「選項」,但一個不?

線性曲線的正確選項常量爲UIViewAnimationOptionCurveLinear,但您使用UIViewAnimationCurveLinear

+0

非常感謝!試圖弄清楚這件事,我一直在撞牆。它總是有助於擁有第二雙眼睛。 – Justine 2012-07-12 01:54:52

2

該代碼沒問題,只是您要使用UIViewAnimationOptionCurveLinear而不是UIViewAnimationCurveLinear。後者用於UIView的舊+setAnimationCurve:方法。

試着改變它,看看你是否有更多的運氣。

+0

你的回答也很有幫助,但羅伯打敗你。謝謝! – Justine 2012-07-12 01:56:21

+0

@Justine,是的,他做到了。我從來沒有得到失敗的金色橫幅......嗯。 – 2012-07-12 01:58:52