我无法在我的 iOS 应用程序中显示某些图像。我已将一些图形从 PNG 更改为 JPG 文件格式,当我删除项目中已有的 PNG 图像并添加新的 JPG 时,模拟器仍然显示旧的 PNG 图形。我在项目上运行“清理”并重置模拟器的内容,现在它根本不想加载图像 -[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 参考说:
在 iOS 4 及更高版本上,如果文件为 PNG 格式,则无需指定 .PNG 文件扩展名。
我误以为扩展名通常是可选的,但如果文件不是 PNG,则必须包含它。因此,如果文件名为 my_image.png,则可以将其传递为 @"my_image" 或 @"my_image.png",但如果您有 my_image.jpg,则它只能作为 @"my_image.jpg" 工作。