【发布时间】:2013-06-17 11:04:39
【问题描述】:
我无法在我的 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" 工作。
【问题讨论】:
-
尝试删除
build文件夹并再次运行应用程序。