2011-07-05 76 views
4

我从http://www.apple.com/iphone/specs.html读取的数据显示IPhone4的屏幕是326 ppi的960x640像素分辨率。关于IPhone4的屏幕分辨率

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

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

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

回答

4

您可以同时使用两者。

如果你想开发应用到视网膜显示(iPhone 4),那么你应该使用像双分辨率(640×960),那么,当你创建的UIImageView,您可以通过2

CGRect rect = imageView.frame; 
rect.size.width /= 2; 
rect.size.height /= 2; 
imageView.frame = rect; 
划分大小

此外,您可以选择在其名称上使用@ 2x的图像,例如[email protected](640x960)。在这种情况下,您不需要划分大小。使用这种方式:

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

您的IMG变种已经划分了大小,如果你部署到iPhone4的有视网膜显示屏的分辨率。

3

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

第一图片= background.png尺寸分辨率320x480 =
第二次图像= [email protected]尺寸= 640×960

iPhone将自动使用 “@ 2X” 图像与视网膜显示。

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

注意:这对所有图像的作品都是一样的。按钮,图像,背景等。

+0

谢谢。而且我也想知道IPhone是否使用视网膜显示,当我想移动一些UIView对象时,我应该使用哪个坐标系? –

0

一。(不能同时)

这是做一个因为下载你的应用程序包小,更容易在XCode中管理的最佳实践。总是创建图像大小为视网膜像素显示。

为什么?

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

因此,总是创建尺寸为视网膜像素显示的图像。

随意打印出定制的绘图纸(其尺寸和常用的组件包括在内),以帮助勾画出你的意见(不是一切应该实现数字化:d)。 http://achim.us/eli/iOS_Graph_Paper.pdf