Ios 将@2x显式添加到非视网膜设备

Ios 将@2x显式添加到非视网膜设备,ios,retina-display,Ios,Retina Display,我们有一个谜 在我们的应用程序中,我们只使用视网膜图像(@2x标记)。 直到昨天,非视网膜设备显示的图像很好,即使我们在最后调用图像时没有@2x 例如,如果文件名为'fun@2x.png'我们调用了[UIImage imageWithName:@“fun”] 今天它停止工作了,现在我们必须调用[UIImage imageWithName:@”fun@2x“]用于显示图像。(该设备为iPhone 3GS iOS 5.1) 我们现在担心我们不了解视网膜的命名 什么改变了? 正确的处理方法是什么 谢谢

我们有一个谜

在我们的应用程序中,我们只使用视网膜图像(@2x标记)。 直到昨天,非视网膜设备显示的图像很好,即使我们在最后调用图像时没有@2x

例如,如果文件名为'fun@2x.png'我们调用了
[UIImage imageWithName:@“fun”]

今天它停止工作了,现在我们必须调用
[UIImage imageWithName:@”fun@2x“]
用于显示图像。(该设备为iPhone 3GS iOS 5.1)

我们现在担心我们不了解视网膜的命名

什么改变了? 正确的处理方法是什么

谢谢


Shani

您应该提供非视网膜图像!缩小规模不是一个好的选择。这里的问题是,iOS试图找到fun.png图像,但没有找到。因此不能呈现一些东西


我无法解释为什么它以前起作用。你确定吗?

在我使用过的应用程序中,如果我只提供一个图像(2倍图像),而不是只使用完整的图像名称,即:

[UIImage imageWithName:@"my-image.png"]
当我为我需要有2个版本的某些按钮提供图像时,我使用:

[UIImage imageWithName:@"my-image"]
通过第二种方法,您必须提供一个带有该基本名称的视网膜和非视网膜图像


就像我说的那样,在这种方式出现之前它不应该工作——即使它以某种方式工作,如果您希望图像始终显示,也应该坚持我上面所说的。

您错过了文件名字符串的@符号(例如@“乐趣”)。这是一个输入错误吗?是的,这是一个输入错误,感谢是一个折衷方案,因为我们有一个45兆二进制文件。如果我们将添加非视网膜,那么我们将超过50MB的wifi下载限制。但是谢谢你的回答。我把这个做了标记,因为这是正确的答案,因为这是苹果公司的官方答案。好吧,它运行了将近一年。我对此没有解释。@shannoga我来学习的Xcode中发生了许多奇怪的无法解释的事情:P