ios - UIImage imageNamed 返回 nil

标签 ios xcode uiimage imagenamed

我是 iOS 和 Xcode 的新手。

我尝试加载一张图片

[UIImage imageNamed:@"imageName.png/jpg and so on"];

但它只返回零。图像应该在我的项目包中,考虑到我可以从 InterfaceBuilder 中的拖放菜单中选择它,并且它是通过“将文件添加到“项目名称”...”菜单添加到 Xcode 的。

无论我使用 .png 还是 .jpg 图像都没有区别,结果保持不变:它们通过 IB 工作,但如果我尝试自己运行 imageNamed 方法则不会。

最佳答案

使用 imageNamed 返回 nil 的原因只有几个:

  • 图像不在您的包中。确保图像确实在您的项目中。单击文件并选择它所属的目标,确保选中目标。

  • 您的图片名称拼写错误或扩展名有问题。

  • 您使用的是 Retina 显示器,但没有 @2x 图像。尝试将您的模拟器更改为 Retina 并查看它是否显示。

  • 如果您使用的是 Assets 目录,请确保您在属性检查器中选择了正确的设备。

一些提示:

如果您正在使用模拟器进行测试,请从您的模拟器中删除该应用程序并清理您的项目,然后重新运行。如果它仍然出现,它应该会出现在您的手机上(如果没有出现,则可能是文件名大小写或@2x 版本有问题)。

如果您在手机上进行测试但没有显示出来,请确保您使用的是相同版本的模拟器(如果您有 iPhone 4/4s,请确保使用带视网膜的 4/4s 模拟器) .

根据这篇文章的最后一件事:JPG image doesn't load with UIImage imageNamed某些 JPG 类型使用 imageNamed 且没有扩展名时存在一些问题。 IMO,无论如何你都应该使用 PNG,因为 iOS 会为你压缩它们,除非你只需要使用 JPG。

关于ios - UIImage imageNamed 返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10998544/

相关文章:

iphone - 以编程方式将一些文本分配给 UITextView 中的特定行

ios - 这是实体的属性吗?

ios - 调整图像选定区域的大小

ios - 仪器中的能级数据为空

iphone - 如何将UIView转换为没有背景的UIImage?

ios - 尝试将指针转换为 ARC 下的指针

ios - UITableViewCell 不会接收触摸

ios - 有没有办法从命令行关闭 iOS 模拟器?

ios - 图像类型为gif时,如何将UIImage转换为NSData?

swift - UIImages 后面的 SpriteNode