2012-12-27 32 views
3

我们有一个谜!明确添加@ 2x到非视网膜设备

在我们的应用程序中,我们只使用视网膜图像(@标记为2x)。 直到昨天,即使我们在最后称为不带@ 2x的图像,非视网膜设备也能很好地显示图像。

例如,如果文件名是'[email protected]',我们就调用[UIImage imageWithName:@"fun"]

今天它停止工作,现在我们必须调用[UIImage imageWithName:@"[email protected]"]来显示图像。 (该设备是iPhone 3GS iOS 5.1)。

我们现在害怕我们不了解视网膜命名的一些东西。

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

感谢

沙尼

+0

您错过了文件名字符串的@符号(例如@“fun”)。这是一个错字吗? –

+0

是的,这是一个错字,谢谢 – shannoga

回答

5

你应该提供非视网膜图像!缩小比例不是一个好的选择。这里的问题是iOS试图找到fun.png图片,但没有找到它。所以不能提出一些东西。

我没有解释为什么它以前工作。你确定?

+0

这是一个妥协,因为我们有一个45兆二进制文件。如果我们将添加非视网膜,那么我们将超过50MB的下载限制。但谢谢你的回答。 – shannoga

+0

我标记这是因为这是正确的答案,因为这是苹果的官方答案。 – shannoga

2

在应用我曾就如果我只提供1张图片(2倍的)比我刚刚使用完整的图像名称,即:对于某些按钮

[UIImage imageWithName:@"my-image.png"] 

当我提供的图像,我需要有2个版本,我用:

[UIImage imageWithName:@"my-image"] 

做这第二种方式,你必须提供视网膜&非视网膜图像与基本名称

dasdom说它应该没有在这种方式工作 - 即使它不知何故是你应该坚持我上面说的,如果你想让你的图像始终显示。

+0

它运作良好近一年。我对此没有解释。 – shannoga

+0

@shannoga许多奇怪的无法解释的事情发生在Xcode我来学习:P – RyanG

相关问题