UIImage加載圖片Images.xcassets加載方法的影響
UIImage加載圖片的方式以及Images.xcassets對(duì)于加載方法的影響
圖片緩存
根據(jù)是否將創(chuàng)建好的對(duì)象緩存入系統(tǒng)內(nèi)存,有兩類創(chuàng)建UIImage對(duì)象的方法可選:
- 緩存:+ imageNamed:,只需傳入文件名.擴(kuò)展名(可選)即可。
- 不緩存:+ imageWithContentsOfFile:,必須傳入文件的全名(全路徑+文件名)。
注意,對(duì)于有緩存功能的方法來(lái)說(shuō),其創(chuàng)建對(duì)象的步驟如下:
- 根據(jù)圖片文件名在緩存池中查找特定的UIImage對(duì)象,入存在,將這個(gè)對(duì)象返回。
- 如果不存在,則從bundle中加載圖片數(shù)據(jù),創(chuàng)建對(duì)象并返回。
- 如果相應(yīng)的圖片數(shù)據(jù)不存在,返回nil。
Images.xcassets
Images.xcassets在app打包后,以Assets.car文件的形式出現(xiàn)在bundle中。其作用在于:
- 自動(dòng)識(shí)別@2x,@3x圖片,對(duì)內(nèi)容相同但分辨率不同的圖片統(tǒng)一管理。
- 可以對(duì)圖片進(jìn)行剪裁和拉伸處理。
UIImage從bundle中加載圖片資源
注意
1.Images.xcassets中的圖片資源只能通過(guò)imageNamed:方法加載,通過(guò)NSBundle的pathForResource:ofType:無(wú)法獲得圖片路徑。因此,Images.xcassets只適合存放系統(tǒng)常用的,占用內(nèi)存小的圖片資源。
2.imageNamed:方法同樣可以加載根目錄中的圖片資源。
3.要想利用imageWithContentsOfFile:方法以不緩存的形式加載圖片,必須將圖片資源放置在根目錄中。
4.相對(duì)于jpg,iOS對(duì)png的支持較好,例如,如果從Images.xcassets以外的地方加載圖片,必須在文件名后加擴(kuò)展名,例如:
// pic.jpg處于根目錄下 [UIImage imageNamed:@"pic"]; // 錯(cuò)誤,圖片未能正確加載 [UIImage imageNamed:@"pic.jpg"]; // 正確
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
iOS中創(chuàng)建Model的最佳實(shí)踐記錄
這篇文章主要給大家介紹了關(guān)于iOS中創(chuàng)建Model的最佳實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用iOS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10iOS如何實(shí)現(xiàn)強(qiáng)制轉(zhuǎn)屏、強(qiáng)制橫屏和強(qiáng)制豎屏的實(shí)例代碼
本篇文章主要介紹了iOS如何實(shí)現(xiàn)強(qiáng)制轉(zhuǎn)屏、強(qiáng)制橫屏和強(qiáng)制豎屏的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07配置iOS?16?屏幕旋轉(zhuǎn)適配實(shí)例詳解
這篇文章主要為大家介紹了配置iOS?16?屏幕旋轉(zhuǎn)適配實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09iOS實(shí)現(xiàn)手勢(shì)滑動(dòng)解鎖功能簡(jiǎn)析
本篇文章主要介紹了iOS實(shí)現(xiàn)手勢(shì)滑動(dòng)解鎖功能簡(jiǎn)析,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10利用iOS動(dòng)畫來(lái)模擬音量振動(dòng)條的實(shí)現(xiàn)
本篇文章主要利用iOS動(dòng)畫來(lái)模擬音量振動(dòng)條的實(shí)現(xiàn)以及對(duì)CAReplicatorLayer的簡(jiǎn)單介紹,需要的朋友可以參考下2015-07-07詳解iOS中多倒計(jì)時(shí)場(chǎng)景的解決方案
在我們開發(fā)APP的過(guò)程中,或多或少都遇到過(guò)需要使用倒計(jì)時(shí)的場(chǎng)景,這篇文章主要介紹了詳解iOS中多倒計(jì)時(shí)場(chǎng)景的解決方案,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11