ImageValet 2.4.0

ImageValet 2.4.0

测试测试过的
语言语言 SwiftSwift
许可证 MIT
发布上次发布2018年10月
SPM支持SPM

Anthony MillerJett Farmer 维护。



 
依赖
Alamofire~> 4.7
AlamofireImage~> 3.3
 

ImageValet

Version License Platform

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 文件。