2013-06-05 85 views
0

我有一個用戶可以拖動的對象以及一些啓動動畫的按鈕。當按鈕被觸摸時,動畫開始,但所有對象都回到起始位置。爲什麼?爲什麼動畫會將對象帶回到起始位置?

NSMutableArray *arrayAntaChiusura1 = [NSMutableArray array]; 

for(int i = 0; i <= 5; i++) 
{ 
    [arrayAntaChiusura1 addObject:[UIImage imageWithContentsOfFile: 
            [[NSBundle mainBundle] 
            pathForResource: [NSString stringWithFormat:@"anta_sx%d", 6-i] 
            ofType:@"png"]]]; 
} 

UIImageView *immagineAntaChiusura1; 

immagineAntaChiusura1 = [[UIImageView alloc] initWithFrame:CGRectMake(283, 82, 120, 130)]; 

immagineAntaChiusura1.animationImages = arrayAntaChiusura1; 
immagineAntaChiusura1.animationDuration = tempo_ante; 
immagineAntaChiusura1.animationRepeatCount = 1; 
[immagineAntaChiusura1 startAnimating]; 
[self.view addSubview:immagineAntaChiusura1]; // i think this line is the problem 

在此先感謝您的幫助,我無法自行離開!

+0

你是什麼意思就回去起始位置?第一個圖像?如果你想動畫重複你必須設置animationRepeatCount爲0 – kushyar

+0

你想說什麼?在你的代碼中,圖像頻繁地變化。你的要求是什麼 – Warewolf

+0

你的意思是所有的對象都會在動畫之後回到它們的起始位置已完成?因爲,那是預期的行爲。 – Marcel

回答

0

我沒有完全理解你的問題,但如果你想連續動畫對象然後設置重複次數爲-1等於無窮大,如下所示: -

UIImageView *immagineAntaChiusura1; 

immagineAntaChiusura1 = [[UIImageView alloc] initWithFrame:CGRectMake(283, 82, 120, 130)]; 

immagineAntaChiusura1.animationImages = arrayAntaChiusura1; 
immagineAntaChiusura1.animationDuration = 1.5; 
immagineAntaChiusura1.animationRepeatCount = -1; 
[immagineAntaChiusura1 startAnimating]; 
[self.view addSubview:immagineAntaChiusura1]; 
+0

感謝您的回答!我的問題不在於動畫本身(它工作正常),我有一些用戶可以拖動的對象,問題是當其中一個對象已從其起始位置移開時,開始動畫會將其帶回指向視圖加載時的位置,我不知道如何解決這個問題。哦,動畫不涉及可拖動的對象,我不知道爲什麼它應該移動它們。 –

+0

然後你需要發佈你拖動對象的代碼。 – Warewolf

0

當您使用圖像進行動畫時,必須巧妙地將這些圖像添加到數組中。你的代碼看起來很好。只有一條線我懷疑是:

[arrayAntaChiusura1 addObject:[UIImage imageWithContentsOfFile: 
           [[NSBundle mainBundle] 
           pathForResource: [NSString stringWithFormat:@"anta_sx%d", 6-i] 
           ofType:@"png"]]]; 

其他所有罰款。只需檢查圖像是否按順序排列。

+0

感謝您的答案!我的問題不在於動畫本身(它工作正常),我有一些用戶可以拖動的對象,問題是當其中一個對象已從其起始位置移開時,開始動畫會將其帶回指向視圖加載時的位置,我不知道如何解決這個問題。哦,動畫不涉及可拖動的對象,我不知道爲什麼它應該移動它們。 –

相關問題