Ios 视网膜模拟器显示的视网膜图像太大

Ios 视网膜模拟器显示的视网膜图像太大,ios,uiimage,ios-simulator,cgcontext,Ios,Uiimage,Ios Simulator,Cgcontext,我使用以下方式显示视网膜图像(扩展名为@2x.png): 然而,在视网膜模拟上,图像显示为其大小的两倍。图像和模拟器都有640 x 960的分辨率,所以我希望图像能填满屏幕。 我知道除了CGContext,还有其他方法可以显示图像,但这是我在代码中实现其他目的所需要的方法。 知道我为什么会有这个定义问题吗?您不需要显式加载视网膜图像,如果设备有视网膜显示器,图像名称将自动附加@2x 将UIImage代码更改为:myImage=[UIImage ImageName:@“iPhoneBackgrou

我使用以下方式显示视网膜图像(扩展名为@2x.png):

然而,在视网膜模拟上,图像显示为其大小的两倍。图像和模拟器都有640 x 960的分辨率,所以我希望图像能填满屏幕。
我知道除了CGContext,还有其他方法可以显示图像,但这是我在代码中实现其他目的所需要的方法。

知道我为什么会有这个定义问题吗?

您不需要显式加载视网膜图像,如果设备有视网膜显示器,图像名称将自动附加@2x


将UIImage代码更改为:
myImage=[UIImage ImageName:@“iPhoneBackground.jpg]”

您不需要显式加载视网膜图像,如果设备有视网膜显示器,图像名称将自动附加@2x

将UIImage代码更改为:
myImage=[UIImage ImageName:@“iPhoneBackground.jpg]”

不要使用@2x后缀

来自apple文档:

UIImage类处理加载所需的所有工作 将高分辨率图像导入应用程序。创建新图像对象时, 您使用相同的名称来请求标准和 图像的高分辨率版本。例如,如果您有两个 图像文件,名为Button.png和Button@2x.png,您将使用 以下代码用于请求按钮图像:

UIImage*anImage=[UIImage imagename:@“按钮”]

不要使用@2x后缀

来自apple文档:

UIImage类处理加载所需的所有工作 将高分辨率图像导入应用程序。创建新图像对象时, 您使用相同的名称来请求标准和 图像的高分辨率版本。例如,如果您有两个 图像文件,名为Button.png和Button@2x.png,您将使用 以下代码用于请求按钮图像:

UIImage*anImage=[UIImage imagename:@“按钮”]

myImage = [UIImage imageNamed:@"iPhoneBackground@2x.jpg"];

UIGraphicsBeginImageContext(myImage.size);
[myImage drawAtPoint: CGPointZero];
myImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

imageView = [[UIImageView alloc] initWithImage:myImage];
NSLog(@"Dimension:%f x %f",myImage.size.width,myImage.size.height);
[self.view addSubview:imageView];