[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

浙公网安备 33010602011771号