5

我从http://www.apple.com/iphone/specs.html读到iPhone4 的屏幕分辨率为 960 x 640 像素,分辨率为 326 ppi。

但是在Xcode的IPhone4.3模拟器中,当我操作显示对象时,打印出[UIScreen mainScreen].applicationFrame,它是320*480。

所以如果我想用一张图片作为我的应用程序的主屏幕背景,我应该使用哪种尺寸?640*960 还是 320*480?

或者我应该使用哪种图像?图像的大小对细节的影响很大。

4

3 回答 3

4

您可以同时使用两者。

如果您想为 Retina Display (iPhone 4) 开发应用程序,则应使用双分辨率 (640x960) 的图像,然后在创建 UIImageView 时将大小除以 2。

CGRect rect = imageView.frame;
rect.size.width /= 2;
rect.size.height /= 2; 
imageView.frame = rect;

此外,您还可以选择名称中带有 @2x 的图像,例如myimage@2x.png(640x960)。在这种情况下,您不需要划分大小。使用这种方式:

UIImage * img = [UIImage imageNamed:@"myimage.png"];

您的 img var 已经划分了大小,如果您部署到 iPhone4,它具有 Retina Display 分辨率。

于 2011-07-05T02:05:37.213 回答
3

您应该为相同的背景创建两个图像。

第一张图片 = background.png 尺寸 = 320x480
第二张图片 = background@2x.png 尺寸 = 640x960

iphone 将自动使用“@2x”图像和视网膜显示。

提示:创建此图像时,将图像创建为 640x960,然后在完成后将其大小调整一半。

注意:这对所有图像都一样。按钮、图像、背景等。

于 2011-07-05T02:04:27.430 回答
0

一。(不是都)

最好的做法是这样做,因为您的应用程序包在下载时更小,并且更易于在 XCode 中管理。始终创建尺寸适合视网膜像素显示的图像。

为什么?

即使屏幕分辨率不同,视网膜和标准像素显示器也使用相同的点系统。例如,这就是为什么在 iPhone 上 - 当询问 window.frame.size.. 时 - 返回 320X480,即使 iPhone 有视网膜显示器。iOS 会根据点网格将图像放置到位,而不管图像分辨率如何。该图像分辨率也可能能够处理标准或视网膜显示器。

因此,请始终创建尺寸适合视网膜像素显示的图像。

随意打印出定制的绘图纸(包括尺寸和常用组件),以帮助勾勒出您的视图(并非所有事情都应该以数字方式完成:D)。http://achim.us/eli/iOS_Graph_Paper.pdf

于 2012-06-06T18:21:47.943 回答