声明处:UIButton+AFNetworking.h
概述
这个分类在UIKit框架的UIButton类添加方法。分类中的方法提供支持从一个URL异步的加载远程图片和背景图片。
警告:不支持复合控件的状态值(比如UIControlStateHighlighted或UIControlStateDisabled)。
任务
获取图片下载器
- + setSharedImageDownloader:
- + sharedImageDownloader
设置图片
- - setImageForState:withURL:
- - setImageForState:withURL:placeholderImage:
- - setImageForState:withURLRequest:placeholderImage:success:failure:
设置背景图片
- - setBackgroundImageForState:withURL:
- - setBackgroundForState:withURL:placeholderImage:
- - setBackgroundImageForState:withURLRequest:placeholderImage:success:failure:
取消图片下载
- - cancelImageDownloadTaskForState:
- - cancelBackgroundImageDownloadTaskForState:
类方法
setSharedImageDownloader:
+ (void)setSharedImageDownloader:(AFImageDownloader *)imageDownloader
讨论
设置共享的图片下载器用来下载图片。
参数
imageDownloader
共享图片下载器用来下载图片。
声明处
UIButton+AFNetworking.h
sharedImageDownloader
+ (AFImageDownloader *)sharedImageDownloader
讨论
共享图片下载器用来下载图片。
声明处
UIButton+AFNetworking.h
实例方法
cancelBackgroundImageDownloadTaskForState:
- (void)cancelBackgroundImageDownloadTaskForState:(UIControlState)state
讨论
取消任何正在执行等待接受指定控制状态的背景图任务,如果有存在的话。
参数
state
控制状态。
声明处
UIButton+AFNetworking.h
cancelImageDownloadTaskForState:
- (void)cancelImageDownloadTaskForState:(UIControlState)state
讨论
取消任何正在执行等待接受指定控制状态的背景任务,如果有存在的话。
参数
state
控制状态
声明处
UIButton+AFNetworking.h
setBackgroundImageForState:withURL:
- (void)setBackgroundImageForState:(UIControlState)state withURL:(NSURL *)url
讨论
从指定的URL异步下载一张图片,当请求已经完成时,设置这张图片为背景图的指定状态。任何之前的用来接收背景图的请求都会被取消。
如果背景图已经在本地缓存,背景图将立即设置,否则指定的占位背景图将立即设置,此时一旦请求完成,远程的背景图将设置。
参数
state
控制状态
url
背景图请求的URL。
声明处
UIButton+AFNetworking.h
setBackgroundImageForState:withURL:placeholderImage:
- (void)setBackgroundImageForState:(UIControlState)state withURL:(NSURL *)url placeholderImage:(nullable UIImage *)placeholderImage
讨论
从指定的URL异步下载一张图片,一旦请求完成,设置图片为指定状态的背景图。接受方的之前任何图片请求将会被取消。
如果图片缓存在本地,立即设置图片,否者指定的占位图片将会立即设置,同时一旦请求完成远程的图片会被设置。
参数
state
控制状态。
url
背景图请求使用的URL。
placeholderImage
背景图被初始设置,直到背景图请求完成。如果为nil,按钮将不会改变它的背景图直到背景图请求完成。
声明处
UIButton+AFNetworking.h
setBackgroundImageForState:withURLRequest:placeholderImage:success:failure:
- (void)setBackgroundImageForState:(UIControlState)state withURLRequest:(NSURLRequest *)urlRequest placeholderImage:(nullable UIImage *)placeholderImage success:(nullable void ( ^ ) ( NSURLRequest *request , NSHTTPURLResponse *_Nullable response , UIImage *image ))success failure:(nullable void ( ^ ) ( NSURLRequest *request , NSHTTPURLResponse *_Nullable response , NSError *error ))failure
讨论
从指定的URL异步下载一张图片,一旦请求完成,设置图片为指定状态的背景图。接受方的之前任何图片请求将会被取消。
如果图片缓存在本地,立即设置图片,否者指定的占位图片将会立即设置,同时一旦请求完成远程的图片会被设置。
如果指定了成功的块,在返回之前块的职责是设置按钮图片。如果没有指定成功的块,提供默认方式使用setBackgroundImage:forState:来设置图片。
参数
state
控制状态。
urlRequest
图片请求使用URL请求。
placeholderImage
背景图被初始设置,直到背景图请求完成。如果为nil,按钮将不会改变它的背景图直到背景图请求完成。
success
一个块当图片任务成功完成时被执行。这个块没有返回值,有3个参数:客户端发送的请求,从服务器接受到响应,从请求的响应数据创建图片。如果图片是从缓存返回,响应参数将会是nil。
failure
一个块当图片数据任务不成功完成或成功完成时被执行。这个块没有返回值,有3个参数:客户端发送的请求,从服务器接收到的响应,错误对象描述网络或解析发生的错误。
声明处
UIButton+AFNetworking.h
setImageForState:withURL:
- (void)setImageForState:(UIControlState)state withURL:(NSURL *)url
讨论
从指定的URL异步下载一张图片,一旦请求完成,设置图片为指定状态的背景图。接受方的之前任何图片请求将会被取消。
如果图片缓存在本地,立即设置图片,否者指定的占位图片将会立即设置,同时一旦请求完成远程的图片会被设置。
参数
state
控制状态。
url
图片请求使用的
声明处
UIButton+AFNetWorking.h
setImageForState:withURL:placeholderImage:
- (void)setImageForState:(UIControlState)state withURL:(NSURL *)url placeholderImage:(nullable UIImage *)placeholderImage
讨论
从指定的URL异步下载一张图片,一旦请求完成,设置图片为指定状态的背景图。接受方的之前任何图片请求将会被取消。
如果图片缓存在本地,立即设置图片,否者指定的占位图片将会立即设置,同时一旦请求完成远程的图片会被设置。
参数
state
控制状态。
url
图片请求使用的
placeholderImage
背景图被初始设置,直到背景图请求完成。如果为nil,按钮将不会改变它的背景图直到背景图请求完成。
声明处
UIButton+AFNetworking.h
setImageForState:withURLRequest:placeholderImage:success:failure:
- (void)setImageForState:(UIControlState)state withURLRequest:(NSURLRequest *)urlRequest placeholderImage:(nullable UIImage *)placeholderImage success:(nullable void ( ^ ) ( NSURLRequest *request , NSHTTPURLResponse *_Nullable response , UIImage *image ))success failure:(nullable void ( ^ ) ( NSURLRequest *request , NSHTTPURLResponse *_Nullable response , NSError *error ))failure
讨论
从指定的URL异步下载一张图片,一旦请求完成,设置图片为指定状态的背景图。接受方的之前任何图片请求将会被取消。
如果图片缓存在本地,立即设置图片,否者指定的占位图片将会立即设置,同时一旦请求完成远程的图片会被设置。
如果指定一个成功的块,在返回之前这个块的职责是设置按钮的图片。如果没有指定一个成功的块,提供设置图片的默认方式setImage:forState
。
参数
state
控制状态。
urlRequest
图片请求使用的URL请求。
placeholderImage
背景图被初始设置,直到背景图请求完成。如果为nil,按钮将不会改变它的背景图直到背景图请求完成。
success
一个块当图片任务成功完成时被执行。这个块没有返回值,有3个参数:客户端发送的请求,从服务器接受到响应,从请求的响应数据创建图片。如果图片是从缓存返回,响应参数将会是nil。
failure
一个块当图片数据任务不成功完成或成功完成时被执行。这个块没有返回值,有3个参数:客户端发送的请求,从服务器接收到的响应,错误对象描述网络或解析发生的错误。
声明处
UIButton+AFNetworking.h
// END