2012-01-01 59 views
3

我做一樣的東西:的iOS - 動畫不重複

[UIView animateWithDuration:2.0 
       delay:0 
       options:UIViewAnimationOptionRepeat 
       animations:^{ 
        NSLog(@"Repeating..."); 
        /** code **/ 
       } 
       completion:^(BOOL finished) { 
        /** code **/ 
       }]; 

但動畫不會重演。 我錯過了什麼嗎?


我已經刪除了彩色動畫,但動畫並未重複。但是,我必須做一些真的錯了,因爲我嘗試了以下簡單的代碼和動畫仍然不重複:

[UIView animateWithDuration:1.0f 
       delay:0 
       options: UIViewAnimationOptionRepeat 
       animations:^{ 
        NSLog(@"Repeating..."); 
        self.alpha = 1; 
       } 
       completion:nil]; 
+0

動畫是否至少出現過一次?如果沒有,你可能會嘗試製作一些不具動畫性的東西。添加缺少的代碼,以便我們可以看到你在做什麼,因爲你在這裏發佈的代碼看起來很好。 – 2012-01-04 18:09:43

+0

是的,它執行一次而不是停止。 – 2012-01-04 18:12:24

回答

4

根據動畫(還是想看到你的代碼),你可能要反轉您的動畫爲了重複。例如,如果您的動畫將alpha值從0更改爲1,則重複該操作,而不將alpha恢復爲0,這不會做太多工作。您可能需要將UIViewAnimationOptionAutoreverse添加到您的動畫選項。

+0

我真的不能發佈我的代碼,但我試圖動畫改變顏色/大小/位置的形狀。目前我成功地改變了顏色和位置(使用animateWithDuration),但不是尺寸。另外,即使使用Reverse選項,動畫也不會重複。 – 2012-01-04 19:31:15

+0

大小和位置應該是可逆的。不確定顏色變化是否可逆。嘗試將動畫縮小爲一件事物(大小,位置或顏色;誠實地,先嚐試大小或位置),然後查看它是否反轉並重復。您可能不得在iOS上爲您重複回覆,而是將自己的反向代碼放入完成塊中,然後自行重新開始動畫。 – 2012-01-04 19:33:15

+0

我無法使用setBounds方法更改大小。我應該使用什麼? – 2012-01-04 20:47:17