原文地址:http://www.jianshu.com/p/5358f587af38
Images.xcassets在app打包後,以Assets.car文件的形式出現在bundle中。其作用在於:
自動識別@2x,@3x圖片,對內容相同但分辨率不同的圖片統一管理。
可以對圖片進行剪裁和拉伸處理。
UIImage從bundle中加載圖片資源
注意
Images.xcassets
中的圖片資源只能通過imageNamed:
方法加載,通過NSBundle
的pathForResource:ofType:
無法獲得圖片路徑。因此,Images.xcassets
只適合存放系統常用的,占用內存小的圖片資源。
imageNamed:
方法同樣可以加載根目錄中的圖片資源。
要想利用imageWithContentsOfFile:
方法以不緩存的形式加載圖片,必須將圖片資源放置在根目錄中。
相對於jpg,iOS對png的支持較好,例如,如果從Images.xcassets
以外的地方加載圖片,必須在文件名後加擴展名,例如:
// pic.jpg處於根目錄下
[UIImage imageNamed:@"pic"]; // 錯誤,圖片未能正確加載
[UIImage imageNamed:@"pic.jpg"]; // 正確