2012-04-11 108 views
1

我有一个iPad应用程序,它不针对带有视网膜显示屏的新iPad进行修改。但令我惊讶的是,这款应用程序在视网膜显示iPad中没有任何问题,效果很好。图形是一样的。我甚至没有看到任何像素问题。有人能解释我背后的原因吗?为了让视网膜显示iPad中的非视网膜应用以相同的方式工作,苹果是否从他们的最后做了些什么?非视网膜iPad应用程序在视网膜显示屏上正常工作iPad

+1

一个词 - upscaling。 – sevenseacat 2012-04-11 06:21:50

+0

就像我在我的问题中提到的那样,没有像素化或缩放问题。图像看起来完全一样吗? – 2012-04-11 06:23:02

+0

如果苹果想要,MapView和WebView可以使用视网膜显示,但我没有机会测试它。对于字体渲染,如果New iPad使用全分辨率进行消除锯齿,则可以看到更好的字符。 iOS 5.1的确如此?对不起,我不知道。 – 2012-04-11 06:23:55

回答

2

文本和框架图像的分辨率很高,没有明确需要应用程序执行任何操作。

看起来不同的是您为应用程序提供的图像,因此如果您的应用程序具有不是视网膜准备好的自定义UI,它会看起来很糟糕。

+0

我设计了我的应用程序,通过对1024 x 768分辨率的某些帧进行热编码。但即使这些东西看起来绝对好。这让我感到困惑。你能告诉我为什么会发生这种情况吗? – 2012-04-11 06:35:28

+2

当您使用CGPoints和CGRects将值设置为视图时,您不是以像素为单位,而是以点为单位。对于iPad 1和iPad 2,1像素等于1点,但对于新iPad,1点宽度为2像素,高度为2像素,因此视图宽度为10,高度为10(以点为单位) ,宽20像素,高20像素。这就是为什么你的硬编码值是相同的。 – EmilioPelaez 2012-04-11 06:40:11

+0

Oooh ....这是一个很好的答案伙计..我明白了..谢谢 – 2012-04-11 06:50:47

2

这同样适用于视网膜iPhone。文本以双倍密度字体显示,并且任何嵌入图像也显示x2。在大多数情况下,您对视网膜显示器进行的唯一更改是添加双倍密度图像,但这是可选的。

编辑:这也适用于运行在iPad上的iPhone应用程序,一个巨大的困难。如果iPhone上只运行iPhone应用程序,则它将以纵向模式显示双倍密度。但开发人员实际上可以将其应用程序放到iPad上的唯一方法是将其标记为普遍,这意味着它会失去这种支持。

+0

哦......这对我来说是一个惊喜。我的印象是,我需要重新设计我的应用程序,以使其在视网膜显示屏上工作... – 2012-04-11 06:27:56

+0

但是,菲利普我在这里有一个愚蠢的怀疑。为什么不能将相同的技术应用于iPhone应用程序,以便它们可以在没有任何像素化的情况下在iPad上运行。请纠正我,如果我的想法或理解错误 – 2012-04-11 06:29:31

+0

我们只能猜测,但可能鼓励开发人员制作他们的应用程序的iPad版本。 – EmilioPelaez 2012-04-11 06:36:15