也可说是显示小动画
你需要一个图像序列帧(就像这样?)
先来第一种方法: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