2010-06-24 132 views
1

嘿家伙,这是一个奇怪的问题。我正在做设备检测,并且我注意到iphone 4报告与iphone 3g(s):320x480相同的分辨率。iPhone 4分辨率

不应该这样更高?还是我错过了什么?

回答

3

Points Versus Pixels在这方面是一个很好看的:

在iOS中有你在指定坐标之间的区别 您的绘图代码和底层设备的像素。使用 原生绘图技术(例如Quartz,UIKit和Core Animation)时,可以使用逻辑坐标空间指定坐标值,该坐标值以点为单位测量距离。这个逻辑坐标系是 与系统所使用的设备坐标空间解耦以管理屏幕上的像素。系统 自动将逻辑坐标空间中的点映射到设备坐标空间中的像素,但该映射并不总是一对一地为 。这种行为导致一个重要的事实,你应该永远记住:

一点不一定对应于屏幕上的一个像素。

+1

该文档似乎不再可用。我能找到的最接近的是:[支持高分辨率屏幕](http://developer.apple.com/library/ios/#documentation/2DDrawing/Conceptual/DrawingPrintingiOS/SupportingHiResScreens/SupportingHiResScreens.html) – ThomasW 2011-12-07 10:39:10

+0

@ThomasW谢谢用于更新信息。我已经更新了指向当前文档的答案。 – Shaji 2011-12-12 22:31:35

2

你错过了什么。如果我记得正确的话,在WWDC的“新可可触摸”会话(会话101)中对此进行了描述。 (如果您是注册的开发人员,可以在iTunes大学下载)

他们保持报告的维度相同,以确保iPhone 4和iPhone 3/3G/3Gs中的应用均可正确缩放。 1点不再是1个像素。

从本质上讲,您最常用的更高分辨率的方面将是新的图形资产。还有一个命名约定,它允许手机自动确定是否加载较低分辨率版本的资源(对于320x480型号)或较高分辨率版本(对于640x960型号)。

转到Apple Developer Site,登录并获取这些视频。伟大的东西从那里出来。

(和男孩,我希望我不只是打破NDA)。

+0

好吧,我有苹果开发,所以在我的书中,你没事。 但谢谢。这个答案很多。我还没有赶上我的wddc的东西。 – 2010-06-24 13:59:29

+1

你很快就会知道(关于打破NDA),黑色直升机通常需要半小时到一个小时才能到达。 – Ukko 2010-06-24 13:59:39

+0

@Ukko:半个小时?男人,你必须住在无处可去的地方。他们到这里是5-10分钟。 – 2010-06-27 23:35:37

0

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

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

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

0
NSLog(@"%f", [[UIScreen mainScreen] scale]); 

上面的语句将打印2 iPhone 4S,iPhone-5和1的iPhone 4或iPhone以前的型号。