iOS元件化解決圖片顯示問題
阿新 • • 發佈:2018-11-14
在元件化時,對於圖片資源,我們需要把對應元件的圖片資源放到對應元件如下位置:
這裡有個注意的地方:
在上圖Assets目錄下是直接把相關圖片匯入進來還是在Assets下新建一個資料夾,再把圖片匯入到該資料夾,取決於podspec檔案的下圖位置:
對應下圖:
修改podspec檔案
總的來說,步驟就是
- 把圖片資源放到Assets目錄下
- 修改podspec檔案
- cd到example下,pod install把圖片匯入測試專案中,效果如圖:
4.載入並顯示圖片
顯示圖片如果使用如下方式的話,是不能正常顯示圖片的
_imgView.image = [UIImage imageNamed:@"[email protected]%2x.png"];
原因是這種方式預設是從mainBundle中去載入圖片,然而元件化之後,圖片已經不再mainBundle中了,實際是在對應元件下的bundle 裡面。
解決辦法:
NSBundle *currentBundle = [NSBundle bundleForClass:[self class]]; //圖片名稱要寫全稱 NSString *path = [currentBundle pathForResource:@"Group.png" ofType:nil inDirectory:@"wgPersonInfoKit.bundle"]; _imgView.image = [UIImage imageWithContentsOfFile:path];