问题适应iPad x2兼容模式的比例因子

时间:2010-10-06 14:59:54

标签: iphone ipad quartz-2d

我想知道是否有人可以帮助我跟随。我编写了一个Quartz 2d ap,并使用以下代码为每个设备获取正确的比例因子:

if ([UIScreen instancesRespondToSelector:@selector(scale)])
{
        return [[UIScreen mainScreen] scale];
}
else
{
        return 1.0;
}

然后我在我的代码中将所有值乘以此比例mulitplier。我遇到的问题是应用程序在ipad上没有在x2模式下显示属性 - 一切都是两倍太大了。有人能帮助我吗?

谢谢,

马丁

2 个答案:

答案 0 :(得分:2)

比例因子与较新的iPhone和iPod touch上的Retina显示有关,而不是iPad上的2X缩放设置。实际上,您引用的UIScreen scale属性在iPad当前的3.2操作系统版本中不存在,仅在4.0+上。在目前运行OS 4.2 beta的iPad上,应始终返回1.0。

在2X模式下使用Quartz绘图的问题you are experiencing必须来自其他地方。您是否对代码中的任何元素进行了特定于设备的检查?

答案 1 :(得分:1)

我不确定这是否是您的问题,但您似乎想要测试UIScreen的选择器比例。它永远不会有。该选择器仅适用于[UIScreen mainScreen]。

if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
{
     return [[UIScreen mainScreen] scale];
}
else    
{
     return 1.0;
}

虽然,这个错误会让你觉得它总会返回1.0的等级。