GIF支持Iphone

时间:2013-01-08 03:44:01

标签: iphone nsdata gif

我的父亲,我的贵妇(啊......只是另一个骑士的东西,......)

我有一个问题,我已经和它斗争了好几天,这是我的情景:

我有一个HTTP响应,其中包含指向GIF图像的链接,然后将GIF图像转换为NSData,稍后用于填充ImageView。预期或意外地,仅显示GIF的第一帧/转换。简单地说,图像加载但没有动画。

我想知道iPhone中是否有对GIF的本机支持,同样我在这里找到了一个扩展类SCGifExample 这似乎只有在我在应用程序中导入GIF图像时才有效,但在图像来自URI-> NSData时则不行。

我不想创建多个图像然后创建一个图像数组,因为这不会对我的设置起作用,因为它会给服务器和客户端带来很多负担。

我已经在这里搜索过了,但是我没有找到任何实质性的结果来阻止我发布我自己的问题,事实上我发现很多与iphone + gif有关的问题都没有得到解答。 / p>

我确实怀疑,我希望有人可以帮助我弄清楚并理解它。我怀疑在从Image转换为NSDATA格式期间GIF动画/转换是“丢失”。但我没有任何具体的证据可以支持这一点。

以下是我将图像转换为NSData的方法;

contentURI = http://gta.champion.com/content?cmsFileId=513af9e9-a96d-4a56-8239-92be273393e0&mt=image/gif //lets just assume that when view using the browser, this would display the image.

NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: contentURI]];

如果有其他人来到这个困境的胜利者,请帮助我征服这样的壮举。

4 个答案:

答案 0 :(得分:0)

不幸的是,iOS不支持GIF图像,也不能将它们用于动画。如果您使用GIF图像,则图像视图将显示该图像的第一帧,仅此而已。

请参阅UIImage了解支持的格式。

Image Formats

答案 1 :(得分:0)

虽然Apple的API不支持开箱即用的动画GIF,但用户创建的解决方案同样有效:

LBGIFImage:
https://github.com/larcus94/LBGIFImage

答案 2 :(得分:0)

是的,有一个备用,但这取决于你拥有的情况。但是让我与你分享这个想法,因为使用UIWebView解决了我的问题,因为我只需要动画单个图像,即广告。< / p>

以下是代码段:

UIWebView *webV = [[[UIWebView alloc]initWithFrame:appDel.isiPad==TRUE?CGRectMake(260, 35, 500, 100):CGRectMake(40, 18, 250, 60)] autorelease] ;
                webV.delegate =self;
                webV.multipleTouchEnabled=NO;
                [webV setBackgroundColor:[UIColor whiteColor]];
                webV.userInteractionEnabled=NO;
                [webV loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"YourImageUrl"]]];

并实施他们的委托方法:

- (void)webViewDidStartLoad:(UIWebView *)webView;

- (void)webViewDidFinishLoad:(UIWebView *)webView;

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;

答案 3 :(得分:0)

看看我发现在iOS中展示动画gif的内容。 http://iosnotestoremember.blogspot.com/2013/01/showing-animated-gif-in-ios.html

我希望这会有所帮助。