iOS的动态GIF替代方案

6
“回到过去”,动画GIF图像在网上随处可见。它们使用简单,只需将其放置在需要动画图像的任何地方即可。我想在iOS应用程序中显示一个动画图像(例如,展示一个信封被打开的图形)。但是,我不确定该如何实现。显然,我不想使用动画GIF。某种类型的视频似乎是首选解决方案。但是,透明度如何处理?还有,视网膜显示屏怎么办?谢谢。

检查iOS7+的本地方法。 - Kirow
4个回答

12

+1 对这个有趣的建议。我很容易看出如何使用这种方法来使用PNG“帧”来制作动画图像。虽然,我有点惊讶这是首选方法。 - Steve
1
@Steve:这是首选方法;事实上,这是目前唯一的非手动非视频方法。对于帧数较少的小型动画效果非常好,这基本上是动态GIF的使用情况(但它不太适用于帧数众多的大视图)。 - Ben Zotto
1
我找到了另一个描述相同方法的页面。也许它会有用:在iOS上制作GIF动画 - Gengis
看看我在iOS中显示动画GIF方面发现的内容。http://iosnotestoremember.blogspot.com/2013/01/showing-animated-gif-in-ios.html希望这能有所帮助。 - Glenn S

3

0

您可以使用UIWebView在Bundle中加载HTML页面。 前往文件 > 新建 > 其他 > 空白 > 输入带扩展名的文件名

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8">
     <title>QUALITY PLACEMENTS</title>

</head>
<body>
<div style="word-wrap: break-word !important; width: 300px;">
    <img width="100%" src="Surprice-0.gif"/>
   </div></body></html> 
    //IOS CODE 
     UIWebView* mywebview=[[UIWebView alloc]initWithFrame:CGRectMake(5, 50, 300, 300)];
            mywebview.scalesPageToFit = NO;
            mywebview.scrollView.hidden = NO;
            [mywebview setMultipleTouchEnabled:YES];
            NSURL* url=[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"greeting" ofType:@"html"]];
            [mywebview loadRequest:[NSURLRequest requestWithURL:url]];

0

为了以后的参考,Eric的答案在这里是更好的方法,因为它使用现代的ImageIO.framework,并且还作为UIImageView的类别可用。


使用ImageIO比其他方法要好。但是,当在具有超过1或2帧图像数据的GIF上运行代码时,仍会消耗所有内存。真正的解决方案是提前解码并将解码结果缓存到磁盘上而不是内存中。 - MoDJ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接