众所周知在iOS中是不能直接播放GIF的。但是如果转换成html,以web页面加载的方式就可以播放了,而且操作也不是很复杂。首先让咱们看一下效果图。
首先需要准备SWF转html的工具--->闪客精灵破解版。下载地址
没有找到Mac版的,所以需要在windows系统上进行SWF转html操作
第一步打开闪客精灵:
然后按照截屏-2图所示将SWF文件导出为html
有一点需要注意,导出的文件有2个,一个html文件,另一个是JS文件。html文件可以直接拖放入Xcode工程里边进行编辑修改操作。但是Xcode会将JS文件当作源文件编译。所以这里需要对导出的html文件和JS文件进行合并,如图:
在html文件中找到此处,然后修改为截屏-4所示:
在Hbuilder或者DreamWeaver中打开JS文件将里边的内容复制出来,黏贴在截屏-4中script中(由于JS文件中内容太长,不方便截图,具体的请看demo:github.com/RainyofSun/SWF.git)。
最后就是在Xcode工程中加载本地的html就可以了。
具体代码如下:
-(void)loadDocument:(NSString*)htmlName{
NSString *bundlePath=[[NSBundle mainBundle]bundlePath];
NSString *path=[bundlePath stringByAppendingPathComponent:htmlName];
NSURL *url=[NSURL fileURLWithPath:path];
NSURLRequest *request=[NSURLRequest requestWithURL:url];
NSLog(@"%@",url);
// self.webView.scalesPageToFit=YES;
[self.webView loadRequest:request];
}
总结:虽说这样可是实现播放SWF动画,但是也有不足和不确定之处。不足的地方:1.加载动画的等待时间变长2.如果说项目中有需求如需要时时更新后台礼物,这种方法也可以完成需求但是会比较麻烦,不如直接按照URL加载GIF动画简便直接。只能说各有利弊吧。不确定的地方:因为没有在正式项目工程中采用这种方式,所以不确定对手机的性能的影响,有待考证吧。
可参考原文链接:www.cocoachina.com/bbs/read.php