我正在使用uiimage-from-animated-gif库通过UIImage
显示动画GIF。它有效,但我需要停止动画或在一次完整的旋转后停止显示imageView2
。
我使用以下代码为GIF设置动画:
NSURL *url2 = [[NSBundle mainBundle] URLForResource:@"dove-animate" withExtension:@"gif"];
self.imageView2.image = [UIImage animatedImageWithAnimatedGIFData:[NSData dataWithContentsOfURL:url2]];
答案 0 :(得分:1)
如果您知道动画持续时间,那么您可以在该持续时间之后将静态图像设置为图像视图。
例如,如果持续时间是2秒,那么
[self performSelector:@selector(stopAnimating) withObject:nil afterDelay:2.0f];
-(void)stopAnimating{
[self.imageView2 setImage:[UIImage imageNamed:@"dove-animate.gif"]];
}
答案 1 :(得分:1)
如果您将图像存储在捆绑包中而不是从网络上加载图像,则无需使用gif&#39。你实际上可以有一个完整的图像文件夹(png' s质量好,提供透明度)。然后:
UIImage
或类似内容将每张图片加载到UIImage + imageNamed:
。UIImageView
并将animationImages
设置为您的数组。startAnimating
和stopAnimating
。答案 2 :(得分:0)
添加计时器以消除imageview。然后看起来像动画停止了
{
NSTimer *timer;
timer = [NSTimer scheduledTimerWithTimeInterval: 4
target: self
selector: @selector(removeAnimation)
userInfo: nil
repeats: NO];
}
-(void)removeAnimation
{
imageview.hidden=yes;
}