关于iPhone4屏幕分辨率

时间:2011-07-05 01:54:39

标签: iphone ios screen-resolution iphone-4

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

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

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

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

3 个答案:

答案 0 :(得分:5)

您可以同时使用两者。

如果你想开发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显示分辨率。

答案 1 :(得分:3)

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

1st Image = background.png尺寸= 320x480
2nd Image = background@2x.png维度= 640x960

iphone会自动将“@ 2x”图像与视网膜显示器一起使用。

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

注意:这适用于所有图片。按钮,图像,背景等..

答案 2 :(得分:0)

一个。(不是两个)

最佳做法是一个,因为您的应用程序在下载时捆绑较小,在XCode中更易于管理。始终创建适合视网膜像素显示的图像。

为什么?

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

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

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