我的父亲,我的贵妇(啊......只是另一个骑士的东西,......)
我有一个问题,我已经和它斗争了好几天,这是我的情景:
我有一个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]];
如果有其他人来到这个困境的胜利者,请帮助我征服这样的壮举。
答案 0 :(得分:0)
答案 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
我希望这会有所帮助。