聲明處: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