[Swift]显示动态图片

也可说是显示小动画

你需要一个图像序列帧(就像这样👇)

先来第一种方法:UIImageView

      在sb里拖一个UIImageView设置好约束。分析下怎么实现呢?

  UIImageView有一个方法叫animationImages,来看看quickhelp介绍

  是一个放着UIImage的数组,UIImage正好在是在UIImageView里显示的呀,很容易理解,这个方法就是要UIImageView轮播数组里的UIImage!知道了这一点就简单多了~

  先定义一个数组用来放UIImage

var imgArray: [UIImage]! = []

   我这里有15张图片,用一个循环创建image name,并把UIImage添加到上面创建的数组

for index in 0 ..< 15 {
            let str: String?
            if index<10 {
                str = String(format: "testGIF000%d", index)
            }else{
                str = String(format: "testGIF00%d", index)
            }
            
            let image = UIImage(named: str!)
            imgArray.append(image!)
        }

   然后可以设置轮播了

imageView.animationImages = imgArray
imageView.animationDuration = 16*0.15
imageView.animationRepeatCount = 100
imageView.startAnimating()

   com+R就可以看到效果了~

再来第二种方法:UIWebView

   这个就简单多了,因为web本来就可以加载gif,所以,只要告诉它文件路径就OK了~

let path = NSBundle.mainBundle().pathForResource("testGIF", ofType: "gif")
let data = NSData(contentsOfFile: path!)
webView.loadData(data!, MIMEType: "image/gif", textEncodingName: String(), baseURL: NSURL())
webView.userInteractionEnabled = false

 

posted @ 2016-05-04 14:55  ybw123321  阅读(839)  评论(0编辑  收藏  举报