我使用了由“mayoff”(Rob Mayoff)“UIImageView+animatedGIF”制作的类,这是在stackoverflow上的答案之一中提出的。UIImageView+动画GIF
有了它,我可以在 iOS 上的 UIImageView 中导入动画 .gif 图像。这个类完美无缺,但唯一的问题是 .gif 总是循环播放。无论我如何导出它(我从 photoshop 导出图像 - 67 帧,将重复设置为“一次”),它都会在 UIImageView 中永远循环。
我正在用这两行导入我的 .gif:
NSURL *url = [[NSBundle mainBundle] URLForResource:@"Loading" withExtension:@"gif"];
self.loadingImageView.image = [UIImage animatedImageWithAnimatedGIFData:[NSData dataWithContentsOfURL:url]];
非常简单,它的工作原理。我尝试按照 Rob 的建议将 animationRepeatCount 属性设置为 1,但这并没有成功。此外,我也尝试将 UIImageView 的动画图像属性设置为 gifImage.images,而不仅仅是将视图的图像属性设置为 gifImage。在这种情况下,.gif 根本没有动画。
任何想法如何只播放一次.gif?我可以想到很多技巧(比如将 gif 的最后一帧设置为在一段时间后显示,但如果可能的话,我会先尝试一些更简单的方法)。