UIImageView中的动画gif

时间:2014-05-13 19:36:01

标签: ios objective-c uiimageview animated-gif

我想在ImageView中显示动画“.gif”。 现在我像这样管理它:clickUIImage+animatedGIF。但如果它开始动画2个GIF,它使用45Mb的内存,我认为这非常适用于2 gif的100kb。我能做什么? 在这里开始动画的代码:

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

2 个答案:

答案 0 :(得分:6)

在UIScrollView上添加动画图像时遇到了同样的问题。 使用FLAnimatedImageView。 https://github.com/Flipboard/FLAnimatedImage

IT就像魔法一样。 :)

答案 1 :(得分: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];