屏幕分辨率和帧大小?

时间:2010-09-17 11:56:24

标签: iphone objective-c cocoa-touch

我很好奇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和iPad的整个屏幕。 iPhone4_device?我有点希望iPhone4的尺寸加倍,是否有某种自动应用程序缩放(加倍),如果是这样,你如何设置/改变它?

干杯加里

2 个答案:

答案 0 :(得分:2)

iPhone 4和最新的iPod Touch(可能是未来的Retina显示设备)使用的“虚拟点”系统不能直接映射到像素。当你谈到视网膜显示器上的像素位置时,你真的在​​谈论这些“点”。它具有与旧显示器具有像素一样多的点数。所有这一切对开发人员都是透明的,因此您的代码将神奇地在不同的显示类型上做正确的事情。非常好。

答案 1 :(得分:1)

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