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

Iphone';视网膜在模拟器中的显示,iphone,ios4,points,Iphone,Ios4,Points,我对如何使用模拟器来构建需要支持新的更高分辨率iPhone4的应用程序感到有点困惑 除了选择iphone4模拟器在[[UIScreen mainScreen]边界上运行应用程序外,将返回960x640,但它仍然提供旧的分辨率(480x320) 尽管iphone4模拟器在我的屏幕上看起来像一部巨大的手机,但它仍然只有480x320像素。例如,当我想在第700行显示某个内容时,它会刚好落在屏幕上 感谢您提供的任何信息。UIScreen提供了一种新的缩放方法。将bounds.size乘以比例得到像素。

我对如何使用模拟器来构建需要支持新的更高分辨率iPhone4的应用程序感到有点困惑

除了选择iphone4模拟器在
[[UIScreen mainScreen]边界上运行应用程序外,
将返回960x640,但它仍然提供旧的分辨率(480x320)

尽管iphone4模拟器在我的屏幕上看起来像一部巨大的手机,但它仍然只有480x320像素。例如,当我想在第700行显示某个内容时,它会刚好落在屏幕上


感谢您提供的任何信息。

UIScreen提供了一种新的
缩放方法。将bounds.size乘以比例得到像素。可以将未缩放值视为点或虚拟像素

请注意,UIScreen至少在3.2版就有了缩放方法,但在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;
}

关于你的第二个关于解决问题的问题,也许这会对你有所帮助。
从iOS4和更高版本开始,有像素、点和比例因子

[[UIScreen mainScreen] bounds] 
(480x320)不是像素(960x640)。
(点对像素):

在iOS 4及更高版本中,UI屏幕, UIView、UIImage和CALayer类 公开一个比例因子,告诉您 点与点之间的关系 特定对象的像素。 在iOS 4之前,这个比例因子是 假设为1.0,但在iOS 4和 以后可能是1.0或2.0, 取决于图像的分辨率 底层设备。未来 也可以使用其他比例因子 可能


谢谢你的回答。还有机会回答我的第二个问题吗?我在模拟器中将整个tme量表设为0。。有什么评论吗?