2010-05-24 83 views
1

我在UImageView上創建了一個5幀動畫,每個圖像都是由[UIImage imageWithContentOfFile:xxx], 創建的,但是模擬器上的動畫運行良好,但不是在設備上,雖然動畫持續時間爲1秒,但延遲約1秒。UIImageView動畫在設備上有很長的延遲

這是我的代碼。

NSArray *animations = [[NSBundle mainBundle] pathsForResourcesOfType:@"png" inDirectory:@"ShakeAnimation"]; 
UIImageView *imgView = [[UIImageView alloc]initWithImage:[UIImage imageWithContentsOfFile:[animations objectAtIndex:0]]]; 
imgView.tag = 10; 
NSMutableArray *animationImgs = [[NSMutableArray alloc] init]; 
for(NSString *path in animations) 
{ 
    [animationImgs addObject:[UIImage imageWithContentsOfFile:path]]; 
} 
[imgView setAnimationRepeatCount:2]; 
[imgView setAnimationImages:animationImgs]; 
[imgView setAnimationDuration:1]; 
[animationImgs release]; 

並且當視圖控制器收到棚屋事件時,它調用[imgView startAnimation];

無論如何預先加載動畫中涉及的圖像?謝謝。

+0

請顯示您將圖像傳遞給動畫的圖像的代碼 – 2010-05-24 03:59:41

+0

圖像文件的來源是什麼?文件系統或類似的Web?? – kpower 2010-05-24 05:14:18

回答

1

我想通了!

如果要預加載UIImageView動畫圖像,請在初始化後調用[imgView startAnimating]。它似乎爲我工作。

+1

只需提一下 - 實際的功能是startAnimating而不是啓動動畫。 – 2011-01-16 08:39:31