版权声明:转载请标注原文地址。邮箱[email protected] https://blog.csdn.net/Xoxo_x/article/details/80188453
效果如下:
代码如下:
//加载图片
public func loadImages(_ complete: @escaping ((_ images: [UIImage])->())) {
DispatchQueue.global().async {
guard let imageFolder = Bundle.main.path(forResource: "animation", ofType: nil) else {
complete([])
return
}
do {
let names = try FileManager.default.contentsOfDirectory(atPath: imageFolder).sorted()
var images: [UIImage] = []
names.forEach({ (name) in
let path = imageFolder + "/\(name)"
if let image = UIImage(contentsOfFile: path) {
images.append(image)
}
})
DispatchQueue.main.async {
complete(images)
}
} catch {
DispatchQueue.main.async {
complete([])
}
}
}
}
//初始化
override func viewDidLoad() {
super.viewDidLoad()
loadImages { [weak self](images) in
self?.animationImageView.animationImages = images
}
animationImageView.animationDuration = 2
animationImageView.animationRepeatCount = 1
}
//使用
@IBAction func startButtonClick(_ sender: UIButton) {
animationImageView?.stopAnimating()
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.1) {[weak self]in
self?.animationImageView?.startAnimating()
}
}
//Demo地址:后续贴出