Objective-C 图片加载库。
如果你正在使用 CocoaPods,将其添加到你的 Podfile 中
pod NgImageLoader
手动添加到你的项目中
NgImageLoader
文件夹中的所有文件添加到你的项目中。MobileCoreServices
、ImageIO
NgImageLoader
提供从文件和网络加载图片的方便 API。
加载器提供了基于块的回调和代理样式回调,以响应加载结果。
要加载图片,通过指定图片的 URL
创建 NgImageLoader
实例并调用 load
方法以启动加载。如果在加载过程中需要取消,则调用 cancel
方法。
示例:加载网络图片。
// image URL
NSURL * url = [NSURL URLWithString:@"http://www.getyourphonefix.com/images/logo-apple.png"];
NgImageLoader * loader = [NgImageLoader imageLoaderWithURL:URL completionHandler:^(NgImageLoaderState state, id image, NgImageLoaderImageKind kind, NSError * error) {
// handle loading result/error here
// this callback can be executed in any thread
}];
// start loading
[loader load];
示例:加载本地图片。
// url to image file
NSURL * URL = [NSURL fileURLWithPath:@"path-to-image-file.nef"];
NgImageLoader * loader = [NgImageLoader imageLoaderWithFileURL:URL completionHandler:^(NgImageLoaderState state, id image, NgImageLoaderImageKind kind, NSError * error) {
// handle loading result/error here
// this callback can be executed in any thread
}];
// start loading
[loader load];
如果图片是 GIF,加载器将自动将其解码为可动画的 UIImage
实例。如果此行为不可取,可以通过设置 decodeGIFAsAnimatedUIImage
为 NO
来关闭。
当将 decodeGIFAsAnimatedUIImage
设置为 NO
时,NgImageLoader
将以 NSData
实例的形式返回图片。这在您打算使用其他动画图实现时特别有用,例如 FLAnimatedImage
。