UIButton(AFNetworking)擴展說明


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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容