十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
EGOImageLoading 是一個(gè)用的比較多的異步加載圖片的第三方類庫(kù),簡(jiǎn)化開發(fā)過程,我們直接傳入圖片的url,這個(gè)類庫(kù)就會(huì)自動(dòng)幫我們異步加載和緩存工作;當(dāng)從網(wǎng)上獲取圖片時(shí),如果網(wǎng)速慢圖片短時(shí)間內(nèi)不能下載下來,可以先用一張本地的圖片代替顯示,還可以進(jìn)行其他操作,讓圖片下載完成后自動(dòng)替換占位圖片而不影響用戶體驗(yàn);
創(chuàng)新互聯(lián)建站成立十年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、申請(qǐng)域名、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀、功能強(qiáng)大、用戶體驗(yàn)好、性價(jià)比高、打開快等等,這些對(duì)于網(wǎng)站建設(shè)都非常重要,創(chuàng)新互聯(lián)建站通過對(duì)建站技術(shù)性的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。
EGOImageLoading 的GitHub 下載地址 https://github.com/enormego/EGOImageLoading
GitHub上下載下來的類庫(kù)會(huì)有一個(gè)Demo,如果運(yùn)行出錯(cuò)說明缺少EGOCache類,在https://github.com/enormego/EGOCache添加道工程之中,或者直接在附件上下載
首先還是來分析一下開源中國(guó)iOS客戶端如何使用這個(gè)第三方類庫(kù)
在我搜索客戶端中哪些類使用了這個(gè)類庫(kù)的時(shí)候和預(yù)期的并不一樣,在工程中有很多地方需要使用到圖片的異步加載,而使用EGOImageLoading類庫(kù)加載只有三個(gè)地方,也可以說是兩個(gè)地方
一是在顯示個(gè)人資料加載個(gè)人圖片,顯示個(gè)人信息時(shí)候使用的。
二個(gè)是顯示你的粉絲或者你關(guān)注的人,想查看TA的資料的時(shí)候
在MyView類和UserView2類中,使用方法一樣
聲明一個(gè) EGOImageView管理圖片的異步加載
@property (strong,nonatomic) EGOImageView * egoImgView;
在ViewDidLoad方法中
// 初始化 self.egoImgView = [[EGOImageView alloc] initWithFrame:CGRectMake(15, 4, 70, 70)]; // 占位圖片 self.egoImgView.p_w_picpath = [UIImage p_w_picpathNamed:@"big_avatar_loading.png"]; // 設(shè)置圖片圓角弧度 egoImgView.layer.cornerRadius = 10.0f; [self.view addSubview:self.egoImgView];
然后就是在reload()方法中圖片加載處理,先從網(wǎng)絡(luò)解析獲取圖片的url資源,如果未獲取到圖片url仍然顯示占位圖片,如果獲取到了就將占位圖片更換為解析獲取的圖片
//頭像 NSString *portrait_str = [TBXML textForElement:portrait]; if ([portrait_str isEqualToString:@""]) { self.egoImgView.p_w_picpath = [UIImage p_w_picpathNamed:@"big_avatar.png"]; } else { self.egoImgView.p_w_picpathURL = [NSURL URLWithString:portrait_str]; }
以上就是使用EGOImageLoading 類庫(kù)進(jìn)行圖片的異步加載;
以下是一個(gè)使用EGOImageLoading 類庫(kù)進(jìn)行圖片異步加載的示例Demo,下載見附件
在開源中國(guó)iOS 客戶端的問答、動(dòng)彈、我的三個(gè)視圖也涉及到圖片的顯示加載問題,剛開始誤以為使用EGOImageLoading 類庫(kù)異步加載圖片,而實(shí)際上是一個(gè)延遲加載,先用占位圖片顯示,然后使用IconDownloader類庫(kù)從服務(wù)器端將圖片下載到本地緩存,在進(jìn)行加載顯示;