我有一堆使用-[UIImage imageWithContentsOfFile:]
和完整路徑的代碼的繼承項目。我正在將其轉換爲使用-[UIImage imageNamed:]
,只是文件名(無擴展名),所以我可以將它傳遞給@"icon"
,並根據情況獲得icon.png
或[email protected]
或icon~ipad.png
。如何確定 - [UIImage imageNamed:]將加載的文件的路徑?
問題是,在程序中有一部分我想檢查圖像的大小,如果它太大,我想顯示,而不是TooBigImage.png
。
所以我需要知道,如果我打電話給[UIImage imageNamed: someName]
,它將使用哪個擴展名/修飾名。基本上,我需要該文件的路徑,所以我可以在加載圖像之前檢查它的大小。或者,如果有方法檢查imageSizeForImageNamed:
或類似的東西,我可以使用它,我只是不知道任何。 (a)笨重和(b)脆弱(如果蘋果改變/增強了這個功能,如果蘋果改變了/增加了這個功能,行爲?)
提示?
謝謝!
當你說大小,你的意思是像素尺寸或以字節爲單位的大小? – idz 2012-07-11 21:40:03
我不想踩腳趾,但是[UIImage imageNamed]'只能用於UI圖標圖像,因爲它將檢索到的圖像緩存在RAM中,這可能會導致內存問題(如果使用錯誤)。另一方面,'[UIImage imageWithContentsOfFile]'不會進行緩存,這對於較大的圖像是可取的。 – 2012-07-11 22:08:59
@ids:要麼。 @Torsten:我相信你誤解了不使用'imageNamed'。系統緩存很好,早期iOSs的泄漏早已修復。 – Olie 2012-07-12 01:02:09