WTURLImageView 2.0.1

WTURLImageView 2.0.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最近发布2014年12月

未认领维护。



 
依赖
AFNetworking~> 2.0
EGOCache~> 2.0
WTExtension/UIImage+WTExtension>= 1.2.0
 

  • 作者:
  • waterlou

简介

WTURLImageView是一个继承自UIImageView的类,使用AFNetworking从互联网加载图片,具有以下特性:

  • 自动调整图片大小
  • 按不同的宽高比显示图片
  • 使用GVCache进行磁盘缓存
  • 显示活动指示器
  • 占位符和失败图片
  • 图片加载时具有各种过渡动画

视频演示

screencast

使用方法

最简单的调用

[imageView setURL:url];

带有选项的调用

[imageView setURL:url
         fillType:fillType
          options:options
placeholderImage:placeholderImage
     failedImage:failedImage
           diskCacheTimeoutInternal:diskCacheTimeInterval];

您可以在其中设置不同的fillType

  • UIImageResizeFillTypeFillIn
  • UIImageResizeFillTypeFitIn
  • UIImageResizeFillTypeIgnoreAspectRatio
  • UIImageResizeFillTypeNoResize

    该类不会依赖于contentMode来设置图片的宽高比。除非fillType==UIImageResizeFillTypeNoResize,否则会调整到imageView的大小。这是因为使用layer进行动画操作更容易,所以您会发现在将fillType设置为UIImageResizeFillTypeNoResize时,大多数过渡动画将无法正常运行。

各种选项

  • WTURLImageViewOptionDontUseDiskCache: 禁用磁盘缓存
  • WTURLImageViewOptionDontUseConnectionCache: 禁用HTTP缓存
  • WTURLImageViewOptionDontUseCache: 禁用所有缓存
  • WTURLImageViewOptionDontSaveDiskCache: 不缓存图片
  • WTURLImageViewOptionShowActivityIndicator: 显示活动指示器
  • WTURLImageViewOptionAnimateEvenCache: 默认情况下,从缓存中加载时无动画,设置它将强制在所有情况下进行动画
  • WTURLImageViewOptionDontClearImageBeforeLoading: 默认情况下,加载新图片时将清除旧图片,在加载新图片之前保持旧图片。
  • WTURLImageViewOptionsLoadDiskCacheInBackground: 默认情况下,在后台加载缓存。如果假设加载的图片非常大并且需要很长时间从缓存中加载,则设置。
  • WTURLImageViewOptionTransitionXXX: 在加载图片时进行各种预定义的过渡。

每次设置选项可能很麻烦,因此您可以使用辅助类来预设设置

WTURLImageViewPreset *preset = [][WTURLImageViewPreset alloc] init];
preset.placeholderImage = [UIImage imageNamed:@"placeholder"];

[imageView setURL: url preset:preset];

或者您可以设置默认设置

WTURLImageViewPreset *preset = [WTURLImageViewPreset defaultPreset];
preset.placeholderImage = [UIImage imageNamed:@"placeholder"];

所有[WTURLImageView setURL:]将使用预设设置。

查看示例代码以获取详细信息。

运行示例代码

git clone https://github.com/waterlou/WTURLImageView.git    
cd WTURLImageView   
pod install 
open WTURLImageViewDemo.xcworkspace

AFNetworking 1.x和2.x

如果您正在使用AFNetworking 1.x,请使用1.x版本的源。如果您正在使用AFNetworking 2.x,请使用2.x版本的源。请注意,AFNetworking 2.x只能支持iOS 6.0或更高版本。

许可证

这些规范和CocoaPods是在MIT许可证下可用的。