聲明處:UIButton+AFNetworking.h
概述
這個(gè)分類在UIKit框架的UIButton類添加方法。分類中的方法提供支持從一個(gè)URL異步的加載遠(yuǎn)程圖片和背景圖片。
警告:不支持復(fù)合控件的狀態(tài)值(比如UIControlStateHighlighted或UIControlStateDisabled)。
任務(wù)
獲取圖片下載器
- + setSharedImageDownloader:
- + sharedImageDownloader
設(shè)置圖片
- - setImageForState:withURL:
- - setImageForState:withURL:placeholderImage:
- - setImageForState:withURLRequest:placeholderImage:success:failure:
設(shè)置背景圖片
- - setBackgroundImageForState:withURL:
- - setBackgroundForState:withURL:placeholderImage:
- - setBackgroundImageForState:withURLRequest:placeholderImage:success:failure:
取消圖片下載
- - cancelImageDownloadTaskForState:
- - cancelBackgroundImageDownloadTaskForState:
類方法
setSharedImageDownloader:
+ (void)setSharedImageDownloader:(AFImageDownloader *)imageDownloader
討論
設(shè)置共享的圖片下載器用來下載圖片。
參數(shù)
imageDownloader
共享圖片下載器用來下載圖片。
聲明處
UIButton+AFNetworking.h
sharedImageDownloader
+ (AFImageDownloader *)sharedImageDownloader
討論
共享圖片下載器用來下載圖片。
聲明處
UIButton+AFNetworking.h
實(shí)例方法
cancelBackgroundImageDownloadTaskForState:
- (void)cancelBackgroundImageDownloadTaskForState:(UIControlState)state
討論
取消任何正在執(zhí)行等待接受指定控制狀態(tài)的背景圖任務(wù),如果有存在的話。
參數(shù)
state
控制狀態(tài)。
聲明處
UIButton+AFNetworking.h
cancelImageDownloadTaskForState:
- (void)cancelImageDownloadTaskForState:(UIControlState)state
討論
取消任何正在執(zhí)行等待接受指定控制狀態(tài)的背景任務(wù),如果有存在的話。
參數(shù)
state
控制狀態(tài)
聲明處
UIButton+AFNetworking.h
setBackgroundImageForState:withURL:
- (void)setBackgroundImageForState:(UIControlState)state withURL:(NSURL *)url
討論
從指定的URL異步下載一張圖片,當(dāng)請(qǐng)求已經(jīng)完成時(shí),設(shè)置這張圖片為背景圖的指定狀態(tài)。任何之前的用來接收背景圖的請(qǐng)求都會(huì)被取消。
如果背景圖已經(jīng)在本地緩存,背景圖將立即設(shè)置,否則指定的占位背景圖將立即設(shè)置,此時(shí)一旦請(qǐng)求完成,遠(yuǎn)程的背景圖將設(shè)置。
參數(shù)
state
控制狀態(tài)
url
背景圖請(qǐng)求的URL。
聲明處
UIButton+AFNetworking.h
setBackgroundImageForState:withURL:placeholderImage:
- (void)setBackgroundImageForState:(UIControlState)state withURL:(NSURL *)url placeholderImage:(nullable UIImage *)placeholderImage
討論
從指定的URL異步下載一張圖片,一旦請(qǐng)求完成,設(shè)置圖片為指定狀態(tài)的背景圖。接受方的之前任何圖片請(qǐng)求將會(huì)被取消。
如果圖片緩存在本地,立即設(shè)置圖片,否者指定的占位圖片將會(huì)立即設(shè)置,同時(shí)一旦請(qǐng)求完成遠(yuǎn)程的圖片會(huì)被設(shè)置。
參數(shù)
state
控制狀態(tài)。
url
背景圖請(qǐng)求使用的URL。
placeholderImage
背景圖被初始設(shè)置,直到背景圖請(qǐng)求完成。如果為nil,按鈕將不會(huì)改變它的背景圖直到背景圖請(qǐng)求完成。
聲明處
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異步下載一張圖片,一旦請(qǐng)求完成,設(shè)置圖片為指定狀態(tài)的背景圖。接受方的之前任何圖片請(qǐng)求將會(huì)被取消。
如果圖片緩存在本地,立即設(shè)置圖片,否者指定的占位圖片將會(huì)立即設(shè)置,同時(shí)一旦請(qǐng)求完成遠(yuǎn)程的圖片會(huì)被設(shè)置。
如果指定了成功的塊,在返回之前塊的職責(zé)是設(shè)置按鈕圖片。如果沒有指定成功的塊,提供默認(rèn)方式使用setBackgroundImage:forState:來設(shè)置圖片。
參數(shù)
state
控制狀態(tài)。
urlRequest
圖片請(qǐng)求使用URL請(qǐng)求。
placeholderImage
背景圖被初始設(shè)置,直到背景圖請(qǐng)求完成。如果為nil,按鈕將不會(huì)改變它的背景圖直到背景圖請(qǐng)求完成。
success
一個(gè)塊當(dāng)圖片任務(wù)成功完成時(shí)被執(zhí)行。這個(gè)塊沒有返回值,有3個(gè)參數(shù):客戶端發(fā)送的請(qǐng)求,從服務(wù)器接受到響應(yīng),從請(qǐng)求的響應(yīng)數(shù)據(jù)創(chuàng)建圖片。如果圖片是從緩存返回,響應(yīng)參數(shù)將會(huì)是nil。
failure
一個(gè)塊當(dāng)圖片數(shù)據(jù)任務(wù)不成功完成或成功完成時(shí)被執(zhí)行。這個(gè)塊沒有返回值,有3個(gè)參數(shù):客戶端發(fā)送的請(qǐng)求,從服務(wù)器接收到的響應(yīng),錯(cuò)誤對(duì)象描述網(wǎng)絡(luò)或解析發(fā)生的錯(cuò)誤。
聲明處
UIButton+AFNetworking.h
setImageForState:withURL:
- (void)setImageForState:(UIControlState)state withURL:(NSURL *)url
討論
從指定的URL異步下載一張圖片,一旦請(qǐng)求完成,設(shè)置圖片為指定狀態(tài)的背景圖。接受方的之前任何圖片請(qǐng)求將會(huì)被取消。
如果圖片緩存在本地,立即設(shè)置圖片,否者指定的占位圖片將會(huì)立即設(shè)置,同時(shí)一旦請(qǐng)求完成遠(yuǎn)程的圖片會(huì)被設(shè)置。
參數(shù)
state
控制狀態(tài)。
url
圖片請(qǐng)求使用的
聲明處
UIButton+AFNetWorking.h
setImageForState:withURL:placeholderImage:
- (void)setImageForState:(UIControlState)state withURL:(NSURL *)url placeholderImage:(nullable UIImage *)placeholderImage
討論
從指定的URL異步下載一張圖片,一旦請(qǐng)求完成,設(shè)置圖片為指定狀態(tài)的背景圖。接受方的之前任何圖片請(qǐng)求將會(huì)被取消。
如果圖片緩存在本地,立即設(shè)置圖片,否者指定的占位圖片將會(huì)立即設(shè)置,同時(shí)一旦請(qǐng)求完成遠(yuǎn)程的圖片會(huì)被設(shè)置。
參數(shù)
state
控制狀態(tài)。
url
圖片請(qǐng)求使用的
placeholderImage
背景圖被初始設(shè)置,直到背景圖請(qǐng)求完成。如果為nil,按鈕將不會(huì)改變它的背景圖直到背景圖請(qǐng)求完成。
聲明處
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異步下載一張圖片,一旦請(qǐng)求完成,設(shè)置圖片為指定狀態(tài)的背景圖。接受方的之前任何圖片請(qǐng)求將會(huì)被取消。
如果圖片緩存在本地,立即設(shè)置圖片,否者指定的占位圖片將會(huì)立即設(shè)置,同時(shí)一旦請(qǐng)求完成遠(yuǎn)程的圖片會(huì)被設(shè)置。
如果指定一個(gè)成功的塊,在返回之前這個(gè)塊的職責(zé)是設(shè)置按鈕的圖片。如果沒有指定一個(gè)成功的塊,提供設(shè)置圖片的默認(rèn)方式setImage:forState。
參數(shù)
state
控制狀態(tài)。
urlRequest
圖片請(qǐng)求使用的URL請(qǐng)求。
placeholderImage
背景圖被初始設(shè)置,直到背景圖請(qǐng)求完成。如果為nil,按鈕將不會(huì)改變它的背景圖直到背景圖請(qǐng)求完成。
success
一個(gè)塊當(dāng)圖片任務(wù)成功完成時(shí)被執(zhí)行。這個(gè)塊沒有返回值,有3個(gè)參數(shù):客戶端發(fā)送的請(qǐng)求,從服務(wù)器接受到響應(yīng),從請(qǐng)求的響應(yīng)數(shù)據(jù)創(chuàng)建圖片。如果圖片是從緩存返回,響應(yīng)參數(shù)將會(huì)是nil。
failure
一個(gè)塊當(dāng)圖片數(shù)據(jù)任務(wù)不成功完成或成功完成時(shí)被執(zhí)行。這個(gè)塊沒有返回值,有3個(gè)參數(shù):客戶端發(fā)送的請(qǐng)求,從服務(wù)器接收到的響應(yīng),錯(cuò)誤對(duì)象描述網(wǎng)絡(luò)或解析發(fā)生的錯(cuò)誤。
聲明處
UIButton+AFNetworking.h
// END