我有一个GIF动画(如this一个),当我在iphone应用程序的图像视图中显示时,它只显示第一帧。此行为与Apple文档一致。 我想知道在iPhone上实现这一目标的最佳方法是什么?
答案 0 :(得分:2)
这是我在当前项目中获得的一些代码。我有一个循环将图像standy2放到standby7.png到一个数组。我使用的是imageWithContentsOfFile,因为它在内存使用方面看起来好一些。
standbyAnimationImages = [[NSMutableArray alloc] init];
for (NSUInteger i=2; i<=7; i++) {
filename = [NSString stringWithFormat:@"standby%d", i];
[standbyAnimationImages addObject:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:filename ofType:@"png"]]];
}
imageViewAnimation.animationImages = standbyAnimationImages;
imageViewAnimation.animationDuration = 2;
imageViewAnimation.animationRepeatCount = 0;
[imageViewAnimation startAnimating];
希望这会对你有所帮助。
答案 1 :(得分:1)
将其拆分为单独的PNG或JPG图像,然后将每个帧加载到UIImageView
并使用其动画方法。请查看“动画图像”下的UIImageView
文档。这很简单。
答案 2 :(得分:0)
如果您将所有框架导出到单个图片,则可以制作UIImage
视图,将animationImages
属性设置为NSArray
,其中包含您UIImages
的所有框架。然后拨打[imageView startAnimating]
。
凯尔