網(wǎng)絡(luò)獲取圖片-第三方SDWebImage

*溫馨提示:SDWebImage-master可以在github上下載半沽。*

當(dāng)需要應(yīng)用SDWeb時(shí)把文件夾里的SDWebImage文件夾放入工程里。

在需要使用網(wǎng)絡(luò)獲取圖片的文件里進(jìn)入頭文件#import "UIImageView+WebCache.h"即可使用相應(yīng)的api卵贱。

首先最基本的方法展示(僅獲取圖片)

代碼:


#import "ViewController.h"
#import "UIImageView+WebCache.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    NSString * urlString = [NSString stringWithFormat:@"http://localhost/tupian.jpg"];
    
    NSURL * url = [NSURL URLWithString:urlString];
    
    UIImageView * imageView = [[UIImageView alloc]init];
    
    imageView.frame = CGRectMake(0, 20, CGRectGetWidth(self.view.frame), 300);
    
    [imageView sd_setImageWithURL:url];
    
    [self.view addSubview:imageView];
    
}


@end

在很多情況下由于網(wǎng)絡(luò)的關(guān)系,圖片無(wú)法下載吨述,這是會(huì)存在留白現(xiàn)象具伍,這將會(huì)是一種很不好的app體驗(yàn),因此纵散,為了解決這一弊端梳码,此三方還有占位圖片(在下載圖片的時(shí)候,此圖片心事出來(lái)伍掀。)

代碼:


#import "ViewController.h"
#import "UIImageView+WebCache.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    NSString * urlString = [NSString stringWithFormat:@"http://localhost/tupian.jpg"];
    
    NSURL * url = [NSURL URLWithString:urlString];
    
    UIImageView * imageView = [[UIImageView alloc]init];
    
    imageView.frame = CGRectMake(0, 20, CGRectGetWidth(self.view.frame), 300);
    
    [imageView sd_setImageWithURL:url placeholderImage:[UIImage imageNamed:@"圖片名稱"]];
    
    [self.view addSubview:imageView];
    
}


@end

依舊是有些時(shí)候(我也不知道為什么會(huì)有這么多有些時(shí)候)下載完圖片需要某些操作掰茶,因此block是一種很不錯(cuò)的選擇。

代碼



#import "ViewController.h"
#import "UIImageView+WebCache.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    NSString * urlString = [NSString stringWithFormat:@"http://localhost/tupian.jpg"];
    
    NSURL * url = [NSURL URLWithString:urlString];
    
    UIImageView * imageView = [[UIImageView alloc]init];
    
    imageView.frame = CGRectMake(0, 20, CGRectGetWidth(self.view.frame), 300);
    
    [imageView sd_setImageWithURL:url completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
       
        NSLog(@"%@",image);
        //枚舉
        NSLog(@"%ld",(long)cacheType);
        
        NSLog(@"%@",imageURL);
        
    }];
    
    [self.view addSubview:imageView];
    
}
/*
 結(jié)果
 2016-03-18 13:12:18.091 CX-SDWebImage-master[4626:283982] <UIImage: 0x7fe8a3f0d900>, {250, 250}
 2016-03-18 13:12:18.092 CX-SDWebImage-master[4626:283982] 1
 2016-03-18 13:12:18.092 CX-SDWebImage-master[4626:283982] http://localhost/tupian.jpg
 */


@end

再接著...

很多時(shí)候我們查看圖片硕盹,也就是下載圖片的時(shí)候符匾,圖片上有??圈圈不停的轉(zhuǎn),這個(gè)很好理解瘩例,就是簡(jiǎn)單的風(fēng)火輪啊胶。

但是還有一種現(xiàn)象就是下載的進(jìn)度。下載進(jìn)度是怎么實(shí)現(xiàn)的的垛贤。

下面看代碼里是 如何實(shí)現(xiàn)的吧焰坪。

代碼:

#import "ViewController.h"
#import "UIImageView+WebCache.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    NSString * urlString = [NSString stringWithFormat:@"http://localhost/tupian.jpg"];
    
    NSURL * url = [NSURL URLWithString:urlString];
    
    UIImageView * imageView = [[UIImageView alloc]init];
    
    imageView.frame = CGRectMake(0, 20, CGRectGetWidth(self.view.frame), 300);
    
    /*
     options所有選項(xiàng):
     
     //失敗后重試 (經(jīng)常使用)
     SDWebImageRetryFailed = 1 << 0,
           
     //UI交互期間開始下載,導(dǎo)致延遲下載比如UIScrollView減速聘惦。(經(jīng)常使用)
     SDWebImageLowPriority = 1 << 1,
           
     //只進(jìn)行內(nèi)存緩存
     SDWebImageCacheMemoryOnly = 1 << 2,
           
     //這個(gè)標(biāo)志可以漸進(jìn)式下載,顯示的圖像是逐步在下載
     SDWebImageProgressiveDownload = 1 << 3,
           
     //刷新緩存
     SDWebImageRefreshCached = 1 << 4,
           
     //后臺(tái)下載
     SDWebImageContinueInBackground = 1 << 5,
           
     //優(yōu)先下載
     SDWebImageHighPriority = 1 << 8,
           
     //延遲占位符
     SDWebImageDelayPlaceholder = 1 << 9,
           
     //改變動(dòng)畫形象
     SDWebImageTransformAnimatedImage = 1 << 10,
     
     */
    
    [imageView sd_setImageWithURL:url placeholderImage:[UIImage imageNamed:@"這里是占位圖片"] options:SDWebImageRetryFailed progress:^(NSInteger receivedSize, NSInteger expectedSize) {
//        receivedSize 已經(jīng)下載大小
//        expectedSize 原大小
//        動(dòng)動(dòng)我們聰明的腦袋某饰,該怎么做呢?善绎?
//        在這里我就不實(shí)現(xiàn)了黔漂,大家可以多聯(lián)系聯(lián)系。
        
        
    } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
       
        NSLog(@"下載完成");
        
    }];
    
    [self.view addSubview:imageView];
    
}
/*
 結(jié)果
 2016-03-18 13:12:18.091 CX-SDWebImage-master[4626:283982] <UIImage: 0x7fe8a3f0d900>, {250, 250}
 2016-03-18 13:12:18.092 CX-SDWebImage-master[4626:283982] 1
 2016-03-18 13:12:18.092 CX-SDWebImage-master[4626:283982] http://localhost/tupian.jpg
 */

分類: IOS 第三方, IOS 網(wǎng)絡(luò)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末禀酱,一起剝皮案震驚了整個(gè)濱河市炬守,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌剂跟,老刑警劉巖减途,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異曹洽,居然都是意外死亡鳍置,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門送淆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)税产,“玉大人,你說(shuō)我怎么就攤上這事偷崩”倏剑” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵环凿,是天一觀的道長(zhǎng)梧兼。 經(jīng)常有香客問我,道長(zhǎng)智听,這世上最難降的妖魔是什么羽杰? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮到推,結(jié)果婚禮上考赛,老公的妹妹穿的比我還像新娘。我一直安慰自己莉测,他們只是感情好颜骤,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捣卤,像睡著了一般忍抽。 火紅的嫁衣襯著肌膚如雪八孝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天鸠项,我揣著相機(jī)與錄音干跛,去河邊找鬼。 笑死祟绊,一個(gè)胖子當(dāng)著我的面吹牛楼入,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播牧抽,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼嘉熊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了扬舒?” 一聲冷哼從身側(cè)響起阐肤,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎呼巴,沒想到半個(gè)月后泽腮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡衣赶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年诊赊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片府瞄。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡碧磅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出遵馆,到底是詐尸還是另有隱情鲸郊,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布货邓,位于F島的核電站秆撮,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏换况。R本人自食惡果不足惜职辨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望戈二。 院中可真熱鬧舒裤,春花似錦、人聲如沸觉吭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至伴鳖,卻和暖如春节值,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背黎侈。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工察署, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留闷游,地道東北人峻汉。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像脐往,于是被迫代替她去往敵國(guó)和親休吠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)业簿、插件瘤礁、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,109評(píng)論 4 62
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議。它實(shí)...
    香橙柚子閱讀 23,881評(píng)論 8 183
  • 從前梅尤,在被皚皚白雪覆蓋的王國(guó)里柜思,有一位王后,她非常的善良巷燥,美麗赡盘。 上帝眷顧美麗的王后。入宮不久缰揪,她便懷孕了陨享。王后多...
    公子白棠閱讀 818評(píng)論 0 1
  • 這篇算是應(yīng)我的好朋友果媽的約稿寫的吧。如果厚顏說(shuō)自己學(xué)問多高钝腺,知識(shí)多多抛姑,大概是不成立的,但是如果說(shuō)愛書艳狐,我可以...
    方小延閱讀 899評(píng)論 0 50
  • 關(guān)于我隨意產(chǎn)生的“憤怒” 老師在微信群的點(diǎn)撥定硝,令我瞬時(shí)間抽離出來(lái)—?jiǎng)e人的人生和我一毛錢關(guān)系都沒有『聊浚“憤怒“的緣由:...
    蘆屋瑞稀2016閱讀 203評(píng)論 2 2