1. 程式人生 > >iOS元件化解決圖片顯示問題

iOS元件化解決圖片顯示問題

在元件化時,對於圖片資源,我們需要把對應元件的圖片資源放到對應元件如下位置:

這裡有個注意的地方:

在上圖Assets目錄下是直接把相關圖片匯入進來還是在Assets下新建一個資料夾,再把圖片匯入到該資料夾,取決於podspec檔案的下圖位置:

對應下圖:

修改podspec檔案

總的來說,步驟就是

  1. 把圖片資源放到Assets目錄下
  2. 修改podspec檔案
  3. 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];