您好,登錄后才能下訂單哦!
EGOImageLoading 是一個用的比較多的異步加載圖片的第三方類庫,簡化開發過程,我們直接傳入圖片的url,這個類庫就會自動幫我們異步加載和緩存工作;當從網上獲取圖片時,如果網速慢圖片短時間內不能下載下來,可以先用一張本地的圖片代替顯示,還可以進行其他操作,讓圖片下載完成后自動替換占位圖片而不影響用戶體驗;
EGOImageLoading 的GitHub 下載地址 https://github.com/enormego/EGOImageLoading
GitHub上下載下來的類庫會有一個Demo,如果運行出錯說明缺少EGOCache類,在https://github.com/enormego/EGOCache添加道工程之中,或者直接在附件上下載
首先還是來分析一下開源中國iOS客戶端如何使用這個第三方類庫
在我搜索客戶端中哪些類使用了這個類庫的時候和預期的并不一樣,在工程中有很多地方需要使用到圖片的異步加載,而使用EGOImageLoading類庫加載只有三個地方,也可以說是兩個地方
一是在顯示個人資料加載個人圖片,顯示個人信息時候使用的。
二個是顯示你的粉絲或者你關注的人,想查看TA的資料的時候
在MyView類和UserView2類中,使用方法一樣
聲明一個 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"]; // 設置圖片圓角弧度 egoImgView.layer.cornerRadius = 10.0f; [self.view addSubview:self.egoImgView];
然后就是在reload()方法中圖片加載處理,先從網絡解析獲取圖片的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 類庫進行圖片的異步加載; 以下是一個使用EGOImageLoading 類庫進行圖片異步加載的示例Demo,下載見附件 在開源中國iOS 客戶端的問答、動彈、我的三個視圖也涉及到圖片的顯示加載問題,剛開始誤以為使用EGOImageLoading 類庫異步加載圖片,而實際上是一個延遲加載,先用占位圖片顯示,然后使用IconDownloader類庫從服務器端將圖片下載到本地緩存,在進行加載顯示;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。