我知道 2x 图像用于视网膜显示。
但我想知道我们如何确定我的设备使用的是 1x 图像还是 2x 图像?
还有一件事情
我有一个stackOverflow.png
大小为50x50的图像名称和它的 2xstackOverflow@2x.png
大小为100x98的名称。
我的问题是该设备将选择具有名称或大小的视网膜图像???
我知道 2x 图像用于视网膜显示。
但我想知道我们如何确定我的设备使用的是 1x 图像还是 2x 图像?
还有一件事情
我有一个stackOverflow.png
大小为50x50的图像名称和它的 2xstackOverflow@2x.png
大小为100x98的名称。
我的问题是该设备将选择具有名称或大小的视网膜图像???
要检查哪个已加载,您可以使用以下代码:
UIImage *image = [UIImage imageNamed:@"image"];
NSLog(@"scale: %f", image.scale); //this will be 2.0 for retina image
或者只是简单地使用两个不同的图像,正如@MidhunMP 在评论中建议的那样。
通常只看它们并不难判断——尤其是在 iOS 模拟器中。将模拟器设置为视网膜模式并查看一下。与视网膜图像相比,非视网膜图像会明显模糊。
至于图像大小,如果您的 2x 图像实际上不是原始图像的 2x 大小,那么您做错了。修复一个图像或另一个图像,或两者兼而有之。视网膜图像按名称选择。如果尺寸错误,图像将被拉伸以适应。这将破坏您尝试使用 2 倍图像获得的高分辨率视网膜效果。