ImageValet
ImageValet 允许您从任何地方懒加载 UIImage
!它支持同步或异步加载图像,并在异步加载时提供使用占位符图像的功能。
用法
ImageValet
存储信息以懒加载 UIImage
,可以从各种图像源创建。
源
每个枚举值都提供了从不同源加载图像的能力。
NSURL
let myImageURL = NSURL(string: "http://www.example.com/myImage.jpg")!
let placeholderImage = UIImage()
let valet = ImageValet(source: .URL(myImageURL, placeholder: placeholderImage)
NSURLRequest
let myImageURL = NSURL(string: "http://www.example.com/myImage.jpg")!
let request = NSMutableURLRequest(URL: myImageURL)
request.setValue("password", forHTTPHeaderField: "Authorization")
let placeholderImage = UIImage()
let valet = ImageValet(source: .URLRequest(request, placeholder: placeholderImage)
Operation
let placeholderImage = UIImage()
let valet = ImageValet(source: .Operation({ (completion) -> Void in
// Do something to get your image
completion(.Success(image))
}, placeholder: placeholderImage))
InMemory
let myImage = UIImage()
let valet = ImageValet(source:.InMemory(image: myImage))
懒加载
您可以将 ImageValet
的图片设置为一个 UIImageView
,使用 deliverToImageView(imageView: UIImageView)
方法。在下载图片期间将使用占位图,并且图片仅在该方法被调用时才会懒加载下载。
let myImageURL = NSURL(string: "http://www.example.com/myImage.jpg")!
let placeholderImage = UIImage()
let valet = ImageValet(source: .URL(myImageURL, placeholder: placeholderImage)
let UIImageView = UIImageView()
valet.deliverToImageView(imageView)
// or
imageView.iv_deliverImage(valet)
ImageValet
同样可以使用闭包异步发送图片。
let valet = ImageValet(source: .URL(myImageURL, placeholder: placeholderImage)
valet.deliver { result in
// Do something when the image is delivered
}
需求
安装
ImageValet 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod "ImageValet"
作者
Anthony Miller, [email protected]
许可证
ImageValet 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。