2010-09-17 131 views
2

我很好奇的iPhone4如何运作出框架项目的大小,例如:屏幕分辨率和帧大小?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    MyController *tempController = [[MyController alloc] init]; 
    [[tempController view] setFrame:CGRectMake(0.0,20.0,320.0,460.0)]; 
    [self setMyController:tempController]; 
    [tempController release]; 
    ... 

这个既充满了iPhone3_sim,iPhone4_sim & iPhone4_device的整个屏幕?我有点期待iPhone4的尺寸翻倍,是否有某种自动应用缩放(加倍),如果有的话,你如何设置/改变它?

干杯加里

回答

2

在iPhone 4和最新的iPod Touch(并且假定未来的视网膜显示装置)使用“虚拟点”系统,其不直接映射到像素。当你谈论视网膜显示器上的像素位置时,你真的在​​谈论这些“点”。它与旧显示器具有像素一样多。所有这些对开发人员来说都是透明的,所以你的代码会奇迹般地在不同的显示类型上做正确的事情。很不错。

+0

非常感谢,你知道这在文档中描述过吗? – fuzzygoat 2010-09-17 12:48:56

+0

@fuzzygoat在这里:https://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/SupportingResolutionIndependence/SupportingResolutionIndependence.html – 2010-09-17 15:12:33

1

物理分辨率与坐标320 x 480不一样。即1个逻辑坐标点不一定与1个实际像素相同。这种转变对开发者来说是透明的。这与OpenGL中的类似,你可以有一个600 x 500的窗口,但设置一个坐标系统,其中x运行到-10.0到10.0,y运行到-100.0到100.0。系统将坐标点转换为实际的像素位置。