你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> UIImage加載圖片Images.xcassets加載方法的影響

UIImage加載圖片Images.xcassets加載方法的影響

編輯:IOS開發綜合

UIImage加載圖片的方式以及Images.xcassets對於加載方法的影響

圖片緩存

根據是否將創建好的對象緩存入系統內存,有兩類創建UIImage對象的方法可選:

  • 緩存:+ imageNamed:,只需傳入文件名.擴展名(可選)即可。
  • 不緩存:+ imageWithContentsOfFile:,必須傳入文件的全名(全路徑+文件名)。

注意,對於有緩存功能的方法來說,其創建對象的步驟如下:

  1. 根據圖片文件名在緩存池中查找特定的UIImage對象,入存在,將這個對象返回。
  2. 如果不存在,則從bundle中加載圖片數據,創建對象並返回。
  3. 如果相應的圖片數據不存在,返回nil。

Images.xcassets

Images.xcassets在app打包後,以Assets.car文件的形式出現在bundle中。其作用在於:

  • 自動識別@2x,@3x圖片,對內容相同但分辨率不同的圖片統一管理。
  • 可以對圖片進行剪裁和拉伸處理。

UIImage從bundle中加載圖片資源

注意

1.Images.xcassets中的圖片資源只能通過imageNamed:方法加載,通過NSBundle的pathForResource:ofType:無法獲得圖片路徑。因此,Images.xcassets只適合存放系統常用的,占用內存小的圖片資源。

2.imageNamed:方法同樣可以加載根目錄中的圖片資源。

3.要想利用imageWithContentsOfFile:方法以不緩存的形式加載圖片,必須將圖片資源放置在根目錄中。

4.相對於jpg,iOS對png的支持較好,例如,如果從Images.xcassets以外的地方加載圖片,必須在文件名後加擴展名,例如:

// pic.jpg處於根目錄下
[UIImage imageNamed:@"pic"]; // 錯誤,圖片未能正確加載
[UIImage imageNamed:@"pic.jpg"]; // 正確

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved