【问题标题】:display image in iphone 4 retina display在 iphone 4 视网膜显示屏中显示图像
【发布时间】:2011-02-10 06:22:11
【问题描述】:
我在 iphone 4 中显示高分辨率图像,我将图像视图帧大小设置如下:
imageFrameNormal.size.width = 470;
imageFrameNormal.size.height = 625;
但它显示全屏而不是这个尺寸。所以请任何人建议我如何以合适的尺寸显示图像。
我正在尝试在模拟器中检查它。
谢谢
【问题讨论】:
标签:
iphone
ios-simulator
iphone-4
retina-display
【解决方案1】:
您必须在视网膜和普通显示器上使用相同的尺寸。例如,您有大小为 100x100 的图像视图。在 Retina 设备上,您应该使用相同的 100x100 尺寸(代码中没有变化)。但是,您最好使用高分辨率图像(2 倍大小)。为此,您需要正确命名:
image.png - 正常大小的图片
image@2x.png - 2x 大小的图像。
当你打电话时
UIImage* img = [UIImage imageNamed: @"image.png"];
image.png 将用于正常显示,而 image@2x.png 用于视网膜(iOS 会自动执行)。
【解决方案2】:
视网膜显示器的坐标系不是以像素为单位,而是以“点”为单位。 iPhone 显示屏,无论是 Retina 还是旧版,都将始终为 320x480 点。当与框架、大小、原点等任何参数进行交互时,您需要记住使用点而不是像素。操作系统将为您处理点和像素之间的“转换”。
有关更详细的说明,请参阅Drawing and Printing Guide for iOS 中的点与像素。