视网膜屏幕的ios逻辑

视网膜屏幕的ios逻辑,ios,uiimage,retina-display,Ios,Uiimage,Retina Display,几乎所有我使用的image.png和image@2x.png设备始终在正确的位置使用正确的图像 但是,我手动添加了一些图像,如下所示: theImage = [UIImage imageNamed:@"image.png"]; 我如何决定是否需要@2x图像?您不需要…。 当使用imageNamed:时,iOS将自动查找@2x图像 注意:如果您需要知道当前设备是否有视网膜显示器,出于其他目的,您可以使用[[UIScreen mainScreen]scale]: 你不需要 当使用imageName

几乎所有我使用的
image.png
image@2x.png
设备始终在正确的位置使用正确的图像

但是,我手动添加了一些图像,如下所示:

theImage = [UIImage imageNamed:@"image.png"];

我如何决定是否需要@2x图像?

您不需要…。

当使用
imageNamed:
时,iOS将自动查找@2x图像

注意:如果您需要知道当前设备是否有视网膜显示器,出于其他目的,您可以使用
[[UIScreen mainScreen]scale]


你不需要

当使用
imageNamed:
时,iOS将自动查找@2x图像

注意:如果您需要知道当前设备是否有视网膜显示器,出于其他目的,您可以使用
[[UIScreen mainScreen]scale]


你说得对。但是,由于某些原因,图像的帧仍然是1x大小。我怀疑这是因为在视网膜设备上的2倍dpi效应。不管怎样,我需要的是你提到的比例+1表示专业。帧将为“1x大小”,因为您必须记住坐标系现在是点,而不是像素。在视网膜显示器的情况下,2px=1pt,因此0,0320480的帧跨越整个设备(在iPhone/Touch上),不管它是否是视网膜。你是对的。但是,由于某些原因,图像的帧仍然是1x大小。我怀疑这是因为在视网膜设备上的2倍dpi效应。不管怎样,我需要的是你提到的比例+1表示专业。帧将为“1x大小”,因为您必须记住坐标系现在是点,而不是像素。在视网膜显示器的情况下,2px=1pt,因此0,0320480的帧跨越整个设备(在iPhone/Touch上),而不管它是否是视网膜。