我想在ImageView
中显示动画“.gif”。
现在我像这样管理它:click
与UIImage+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];
答案 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];