gif动画问题
iOS没有自带支持显示gif动画的功能, 用UIImageView的animationImage虽然可以实现图片动画, 当毕竟不方便.
http://blog.stijnspijker.nl/2009/07/animated-and-transparent-gifs-for-iphone-made-easy/ 这篇文章的作者移植了一份PHP代码并实现了一个demo,
不过这份代码无法正常显示优化过的gif图片, 于是有人根据这份代码进行修改, 解决了优化过的gif文件https://github.com/kasatani/AnimatedGifExample. 但是还是有些gif动画无法正常显示, 而且AnimatedGif这个类不太好用.
所以我又简单重写了一下, 代码也发到github上, https://github.com/shichangone/SCGifExample, 修改后用了一段时间, 暂时还没有发现无法正常显示的gif图片.主要改了两个地方:
- SCGIFImageView继承UIImageView, 可以直接使用SCGIFImageView代替UIimageView来显示图片.可以参考:http://www.appdoll.com/page/view/193
- AnimatedGif没有对动画帧延迟(delay)为0做处理, 部分动画显示不正常. 从这篇文章可以了解到, 虽然gif规范允许delay为0, 但是实际中各个浏览器都没做支持. 我按照firefox的做法, 当delay为0时, 就提升到10(即0.1秒).