我有一堆使用-[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