2014-05-13 109 views
0

我想在ImageView中顯示動畫的「.gif」。 現在我管理它就像這裏:clickUIImage+animatedGIF。但是,如果它開始動畫2動畫,它使用45Mb的內存,我認爲這是非常多的2 GIF 100KB。我能做什麼? 代碼從這裏開始動畫:UIImageView中的動畫gif

NSString *path = [[NSBundle mainBundle]pathForResource:@"animation" ofType:@"gif"];    
NSURL *url = [[NSURL alloc] initFileURLWithPath:path];   
_testImage.image = [UIImage animatedImageWithAnimatedGIFURL:url];   
_test1.image = [UIImage animatedImageWithAnimatedGIFURL:url]; 
+0

你可以張貼一些你正在使用,以動畫GIF文件的相關代碼? – 68cherries

+0

它太長我從github得到這裏是鏈接: https://github.com/mayoff/uiimage-from-animated-gif/blob/master/uiimage-from-animated-gif/UIImage%2BanimatedGIF.m – user3195648

+0

你認爲我應該從GIF導入每張圖片到支持文件文件夾,並應通過代碼更改圖片? – user3195648

回答

5

試試這個

// Load images 
    NSArray *imageNames = @[@"win_1.png", @"win_2.png", @"win_3.png", @"win_4.png", 
         @"win_5.png", @"win_6.png", @"win_7.png", @"win_8.png", 
         @"win_9.png", @"win_10.png", @"win_11.png", @"win_12.png", 
         @"win_13.png", @"win_14.png", @"win_15.png", @"win_16.png"]; 

    NSMutableArray *images = [[NSMutableArray alloc] init]; 
    for (int i = 0; i < imageNames.count; i++) 
    { 
     [images addObject:[UIImage imageNamed:[imageNames objectAtIndex:i]]]; 
    } 

    // Normal Animation 
    UIImageView *animationImageView = [[UIImageView alloc] initWithFrame:CGRectMake(60, 95, 86, 193)]; 
    animationImageView.animationImages = images; 
    animationImageView.animationDuration = 0.5; 

    [self.view addSubview:animationImageView]; 
    [animationImageView startAnimating]; 
+0

根據您的需要更改animationImageView.animationDuration的值。 – Deepak