1

我知道 2x 图像用于视网膜显示。

但我想知道我们如何确定我的设备使用的是 1x 图像还是 2x 图像?

还有一件事情

我有一个stackOverflow.png大小为50x50的图像名称和它的 2xstackOverflow@2x.png大小为100x98的名称。

我的问题是该设备将选择具有名称或大小的视网膜图像???

4

2 回答 2

5

要检查哪个已加载,您可以使用以下代码:

    UIImage *image = [UIImage imageNamed:@"image"];
    NSLog(@"scale: %f", image.scale); //this will be 2.0 for retina image

或者只是简单地使用两个不同的图像,正如@MidhunMP 在评论中建议的那样。

于 2013-03-22T16:45:58.610 回答
3

通常只看它们并不难判断——尤其是在 iOS 模拟器中。将模拟器设置为视网膜模式并查看一下。与视网膜图像相比,非视网膜图像会明显模糊。

至于图像大小,如果您的 2x 图像实际上不是原始图像的 2x 大小,那么您做错了。修复一个图像或另一个图像,或两者兼而有之。视网膜图像按名称选择。如果尺寸错误,图像将被拉伸以适应。这将破坏您尝试使用 2 倍图像获得的高分辨率视网膜效果。

于 2013-03-22T16:45:50.000 回答