Iphone的视网膜显示在模拟器中

Oys*_*sio 5 iphone points ios4

我对如何使用模拟器构建需要支持iphone 4更高分辨率的应用程序感到困惑.

我会选择iphone4模拟器来运行应用程序,[[UIScreen mainScreen] bounds]这会给我960x640,但它仍然给我旧的分辨率(480x320)?

虽然iphone4模拟器在我的屏幕上显示为一个巨大的手机,但它似乎仍然只包含480x320像素.例如,当我想要在700行显示某些东西时,它只会掉线?

感谢您的任何意见.

dra*_*ard 8

UIScreen有一种新scale方法.将bounds.size乘以比例以获取像素.您可以将未缩放的值视为点或虚拟像素.

请注意,UIScreen至少有一个scale方法,因为它只有4.0以来才有记录,所以respondsToSelector会欺骗你.即使我想了解UIScreen,我也会查看UIImage的规模.

UIScreen *mainScreen = [UIScreen mainScreen];
CGFloat scale = [mainScreen scale];
CGRect bounds = [mainScreen bounds];
CGRect pixels = bounds;

if ( scale > 0 ) {
    pixels.origin.x *= scale;
    pixels.origin.y *= scale;
    pixels.size.width *= scale;
    pixels.size.height *= scale;
}
Run Code Online (Sandbox Code Playgroud)