ImageScout 是 fastimage 的 Swift 实现。它允许你通过尽可能少地下载来查找远程图像的大小和类型。
有时你需要知道远程图像的大小才能下载它,例如在 UICollectionView
中使用自定义布局。
ImageScout 在下载时解析图像数据。 一旦它确定了图像的大小和类型,它就会停止下载。 在大多数情况下,下载的数据小于 60 KB。
将以下内容添加到你的 Package.switft
文件中
let package = Package(
dependencies: [
.package(url: "https://github.com/kaishin/ImageScout.git", from: "2.1.0")
],
)
github "kaishin/ImageScout"
carthage update
pod 'ImageScout'
use_frameworks!
pod install
。你将使用的唯一方法是 scoutImageWithURI()
,具有以下完整签名
func scoutImageWithURI(URI: String, completion: (NSError?, CGSize, ScoutedImageType) -> ())
这是一个例子
let scout = ImageScout()
scout.scoutImageWithURI("http://.../image-scout-logo.png") { error, size, type in
if let error = error {
print(error.code)
} else {
print("Size: \(size)")
print("Type: \(type.rawValue)")
}
}
如果图像未成功解析,则大小将为 CGSizeZero
,类型为 .Unsupported
。 错误将包含有关原因的更多信息。
ImageScout
实例的强引用,直到回调完成。 如果引用丢失,你的完成处理程序将永远不会被执行。
请参阅 LICENSE。