XLRemoteImageView 2.0.0

XLRemoteImageView 2.0.0

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
Released最后发布2014年12月

Martin Barreto 维护。



  • 作者:
  • Martin Barreto

XMARTLABS提供。

目的

增加了在下载图片的同时显示进度指示器的 UIImageView 类别。它使用了与 UIImageView+AFNetworking 类别相同的 NSCache 和 NSOperation 对象。它看起来像 Instagram 的加载指示器。

安装

在项目中集成 XLRemoteImageView 最简单的方式是通过 CocoaPods

  1. 在项目的 Podfile 文件中添加以下行。

pod 'XLRemoteImageView', '~> 2.0'

  1. 在 Podfile 文件夹目录中执行 pod install 命令。

您也可以手动安装 XLRemoteImageView。我们不推荐这种方法。你需要的源文件在 XLRemoteImageView/XLRemoteImageView/XL 文件夹中。

示例

查看示例项目中的 ViewController.m 以了解如何使用此组件的详细信息。简而言之

// show a circle progress indicator
[self.imageView setImageWithProgressIndicatorAndURL:[NSURL URLWithString:url]];

UIImageView+XLProgressIndicator.h 添加了其他辅助方法

// same behaviour as previous method showing a placeholder image while the download is in progress.
-(void)setImageWithProgressIndicatorAndURL:(NSURL *)url
                          placeholderImage:(UIImage *)placeholderImage

等等

-(void)setImageWithProgressIndicatorAndURL:(NSURL *)url
                          placeholderImage:(UIImage *)placeholderImage
                       imageDidAppearBlock:(void (^)(UIImageView *))imageDidAppearBlock

上述方法使用了 UIImageView+XLNetworking 类别,使您可以知道图片下载进度。

- (void)setImageWithURLRequest:(NSURLRequest *)urlRequest
              placeholderImage:(UIImage *)placeholderImage
                       success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image))success
                       failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure
         downloadProgressBlock:(void (^)(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead))downloadProgressBlock;

Screenshot

外观定制

// progress color, yellow color in the example image.
[[XLCircleProgressIndicator appearance] setStrokeProgressColor:[UIColor colorWithHex:COLOR_PROGRESSBAR_PROGRESS]];

// remaining color, gray color in the example image
[[XLCircleProgressIndicator appearance] setStrokeRemainingColor:[UIColor colorWithHex:COLOR_PROGRESSBAR_BACKGROUND]];

//In order to set up the circle stroke's width you can choose between these 2 ways.
[[XLCircleProgressIndicator appearance] setStrokeWidth:3.0f];

//or 

//the width of the circle stroke gets calculated based on the UIImageView size,
//[[XLCircleProgressIndicator appearance] setStrokeWidthRatio:0.15f];

XLRemoteImageView 文件

  1. UIImageView+XLNetworking.h. 允许我们使用 AFNetworking 中的 NSCache 和 NSOperation 知道图片的下载进度。
  2. UIImageView+XLProgressIndicator.h. 允许我们在下载 Image的同时在 UIImageView 上显示圆形进度视图。
  3. XLCircleProgressIndicator.h. 一个显示圆形进度的 UIView。此源代码基于 https://github.com/swissmanu/MACircleProgressIndicator

许可

XLRemoteImageView 根据 MIT 许可证发行,请随意使用并贡献。

要求

  • ARC
  • iOS 7.0 及以上版本

发布说明

版本 2.0.0 (cocoaPod)

  • 支持 AFNetworking ~> 2.0。
  • 修复了错误。
  • 在 iOS 7 & 7.1 上测试。

版本 1.0.0 (cocoaPod)

  • 首次发布。
  • 在 ios 5 & 6 上测试。
  • AFNetworking ~> 1.3 支持。

联系

如果你在你的项目中使用 XLRemoteImageView 并有任何建议或问题

马丁·巴雷托,[email protected]

@Xmartlabs