我在我的iOS应用程序中遇到了一些图像显示问题。我将一些图形从PNG格式更改为JPG文件格式,并且当我删除了项目中已经存在的PNG图像并添加新的JPG文件时,模拟器仍然显示旧的PNG图像。我对该项目进行了“清理”操作,并重置了模拟器的内容,但现在它根本不想加载这些图像 -
另一方面,如果我将这些图形保存为PNG,并将它们添加到项目中而不是JPEG,则可以正常加载它们。但是这些图像是照片,而PNG版本比JPEG大7-8倍,因此我真的想弄清楚为什么它无法加载它们。
编辑:在审核文档(看起来像是第100次)后,我意识到错误在于我没有指定扩展名。支持的图像格式 (http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImage_Class/Reference/Reference.html) 列出了许多支持的格式,而UIImage参考说:
[UIImage imageNamed:@"filename"]
返回 null。另一方面,如果我将这些图形保存为PNG,并将它们添加到项目中而不是JPEG,则可以正常加载它们。但是这些图像是照片,而PNG版本比JPEG大7-8倍,因此我真的想弄清楚为什么它无法加载它们。
编辑:在审核文档(看起来像是第100次)后,我意识到错误在于我没有指定扩展名。支持的图像格式 (http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImage_Class/Reference/Reference.html) 列出了许多支持的格式,而UIImage参考说:
我误读了这个意思,认为扩展名总是可选的,但如果文件不是PNG,则必须包括扩展名。因此,如果文件名为my_image.png,则可以使用@"my_image"或@"my_image.png"传递它,但如果有my_image.jpg,则只能使用@"my_image.jpg"。在iOS 4及以上版本中,如果文件是以PNG格式存储的,则不需要指定 .PNG 文件扩展名。
build
文件夹并重新运行应用程序。 - Abhishek Bedi