关于iPhone4的屏幕分辨率

5
我从http://www.apple.com/iphone/specs.html上了解到,IPhone4的屏幕分辨率为960x640像素,326ppi。
但是在Xcode的IPhone4.3模拟器中,当我操作显示对象并打印[UIScreen mainScreen].applicationFrame时,它是320x480。
所以如果我想要将一张图片作为我的应用程序主屏幕的背景,我应该使用哪个尺寸?640x960还是320x480?
或者我应该使用哪种类型的图像?图像的大小会对细节产生很大影响。
3个回答

4

你可以两种方式都使用。

如果你想要开发适用于Retina显示屏(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变量已经分配了尺寸,如果您部署到iPhone4上,它将具有Retina显示分辨率。


3
你应该为相同的背景创建两个图像。
第一张图片 = background.png 尺寸 = 320x480 第二张图片 = background@2x.png 尺寸 = 640x960
iPhone会自动使用带有Retina显示屏的"@2x"图像。
提示:在创建此图像时,将图像创建为640x960,然后完成后将其缩小一半。
注意:对于所有图像(按钮、图像、背景等),都适用此方法。

谢谢。我还想知道iPhone是否使用视网膜显示屏,当我想移动一些UIView对象时,应该使用哪个坐标系统? - Matt.Z

0

一.(只选其一)

最佳实践是只选择一个,因为这样可以使您的应用程序包更小,下载更容易,在XCode中管理也更方便。始终创建适合Retina像素显示的图像。

为什么?

无论屏幕分辨率如何,Retina和标准像素显示器都使用相同的点系统。例如,在iPhone上询问window.frame.size时,即使iPhone具有Retina显示屏,它也会返回320X480。iOS根据点网格将图像放置在相应位置,而不考虑图像分辨率。该图像分辨率可能能够处理标准或Retina显示器。

因此,始终创建适合Retina像素显示的图像。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接